Add regex support to filter_struct
Add regex support to filter_struct

- filter_struct():
  - Added support for regex argument.
  - Added support for a filter_dict value of None.
  - Simplified code.
- New match_struct():
  Return True or False to indicate whether the given structure matches the
  given the match dictionary.
- Improved nested_get():
  - Improved documentation.
  - Improved ability to traverse beyond the first sub-level looking for
    matching keys.  Consequently, one can even pass structures containing no
    subordinate dictionaries at all.  In this case, an empty list is returned.
    This could have some applications where a caller wants results from a
    structure which may or may not contain the requested key fields.

Change-Id: I8acfe2614b73dc2c5a6963c55e430d4d3149011b
Signed-off-by: Michael Walsh <10404802c7de463f402c4a18638106ca1b12ef61@us.ibm.com>

openbmc/openbmc-test-automation,openbmc/openbmc-test-automation