Fix querying documentation on faceting

Update faceting documentation to reflect correct argument (changed 'fields' argument for `facet_by` to 'field')
Correct minor changelog merge issue

Correct a merge issue in the change log - some lines got out of sync
typo
Fix mx.DateTime test
Fix pyflakes warnings (unused imports and vars)
Fix pyflakes warnings

Unused imports and redefinition of function
Add support for Solr's JSON API

For large results sets, this can be parsed and interpreted much more
efficiently than the equivalent XML response.

TODO:
 * Support JSON for queries other than /select
 * Support "interestingTerms" in MLT queries
More efficiency improvements for JSON client

The general principle here is that because the dicts json.loads gives us
are very close to the final format we want, we can just do a few
in-place modifications to these dicts rather than build entirely new
data structures.
Typo fix and comment
Merge pull request #77 from evansd/support_solr_json_api

Support Solr JSON api
Merge pull request #78 from evansd/master

Merge Timetric changes
Merge pull request #74 from simon-liu/fix-doc

fix typo error
Documentation for field names
Merge pull request #75 from helix84/doc-fieldnames

Documentation for field names
Merge pull request #68 from davidjb/patch-2

Correct minor changelog merge issue
Merge pull request #67 from davidjb/patch-1

Fix querying documentation on faceting
Speed up object_to_dict (thanks @evansd)
Make readable/writable a property of the SolrConnection

* previously it was on the SolrInterface, which meant you
couldn't create a query() for a delete() on a write-only core
Use `dir` builtin, rather than traversing __dict__

This captures attributes inherited from parent classes which the old
method missed. It also respects customizations that objects might make
to their own __dir__ representation. Plus it's shorter!

We also remove the `hasttr('items')` check as this is redundant: the
only place which calls this function already checks for this.