Task: fix match_keys type check when getting buffers

1) allow match_keys to be an empty list for convenience

For most of task getters, match_keys is used to filter wanted
results. It may be convenient to use match_keys=[] (eg. as a result of
another call) in some cases. This is now supported.
To disable match_keys check, it should not be specified or explicitely
set to None.

2) ensure that match_keys is not a string, but a true sequence on keys.