[add] debug info on play() failure
[add] tag info retrieval using separate thread

based (copied) from: http://www.jezra.net/blog/use_python_and_gstreamer_to_get_the_tags_of_an_audio_file
[add] json encoding error msg+code (405)
[rm] unneccessary init removed
[fix] tagget timeout in case of failure to get required tags
[add] only search for a given list of tags, avoid weird encoded stuff

had problems with json and some tags:
  File "/usr/lib/python2.7/threading.py", line 551, in __bootstrap_inner
    self.run()
  File "./pyzm-player.py", line 178, in run
    ans = self.cb(msg)
  File "./pyzm-player.py", line 693, in handle_cmd
    return shared.json_server_enc(cmd_code, ans[0], data)
  File "/home/rrosa/work/pyzm-player/shared.py", line 47, in json_server_enc
    data_string = json.dumps(msg)
  File "/usr/lib/python2.7/json/__init__.py", line 231, in dumps
    return _default_encoder.encode(obj)
  File "/usr/lib/python2.7/json/encoder.py", line 201, in encode
    chunks = self.iterencode(o, _one_shot=True)
  File "/usr/lib/python2.7/json/encoder.py", line 264, in iterencode
    return _iterencode(o, 0)
  File "/usr/lib/python2.7/json/encoder.py", line 178, in default
    raise TypeError(repr(o) + " is not JSON serializable")
  TypeError: <gst.Buffer 0x7f01f4038040 of size 24 and data 0x50524956> is not JSON serializable

where the tags were:
'tags': {'private-id3v2-frame': [<gst.Buffer 0x7f01f4038040 of size 24 and data 0x50524956>, <gst.Buffer 0
x7f01f40380e0 of size 27 and data 0x50524956>], 'has-crc': False, 'bitrate': 80023, 'nominal-bitrate': 80000, 'maximum-bitrate': 80237, 'minimum-b
itrate': 79931, 'container-format': u'ID3 tag', 'audio-codec': u'MPEG 1 Audio, Layer 3 (MP3)', 'channel-mode': u'joint-stereo'}