Improve error handing if using CKAN API client for a Socrata data catalog.

Socrata returns JSON where the "error" key is a boolean. The CKAN API client
expects the "error" key to be a dictionary. If "error" is not a dictionary, make
it an empty dictionary.
raise ServerIncompatibleError if the remote API doesn't behave like a CKAN API
Merge pull request #26 from jpmckinney/socrata

Improve error handing if using CKAN API client for a Socrata data catalog