Let db.changes() yield dict objects

This change allows to process changes feed events without any additional
magic work as iter_lines, parsing json, handling heartbeats - all these
routines are wrapped inside changes() method.

Also, for continuous changes feed it doesn't holds anymore the latest
change events in memory till request timeout or new change events.
Optionally emit heartbeats as None from changes feed.

Use the next call to catch them:

for item in db.changes(emit_heartbeats=True, params=params):
  if item is None:
    print("Heartbeat detected!")
  else:
    print("Something got changed!")
Merge pull request #33 from kxepal/changes-feed

Let db.changes() yield dict objects