fixing NumpyJSONEncoder.default() to call base class, and adding 'encoder' kwarg to serialize_json in protocol.py