Fix a broken test

Nobody reported this, but there was a failure:

    ======================================================================
    FAIL: test_fuzzy_compare (test_mfs_diff.TestDiffWithMultiFieldSelector)
    ----------------------------------------------------------------------
    Traceback (most recent call last):
      File ".../normalize/tests/test_mfs_diff.py", line 407, in test_fuzzy_compare
        'MODIFIED (.friends[1].family_name/.friends[2].family_name)',
      File ".../normalize/tests/test_mfs_diff.py", line 111, in assertDifferences
        set("<DiffInfo: %s>" % x for x in expected)
    AssertionError: Items in the first set but not the second:
    '<DiffInfo: REMOVED .friends[2]>'
    '<DiffInfo: MODIFIED .friends[4].given_name>'
    Items in the second set but not the first:
    '<DiffInfo: REMOVED .friends[4]>'
    '<DiffInfo: MODIFIED (.friends[2].given_name/.friends[4].given_name)>'

    ----------------------------------------------------------------------

Presumably this happened with the earlier change to not count None as a
matching field value on fuzzy diffing, and the result ended up with two
possible solutions.  Resolve it by making the two sides slightly more
similar.
Allow to_json to fetch properties from Records

If you want to marshal out a property of an object, and that property
has a to_json function defined, then it is difficult to make sure that
is called.  Refactor to_json so that the logic it uses is more easily
available for this use case.
Add FieldSelector.from_path constructor

This allows convenient marshaling from the 'path' string form.
Permit unicode in field selectors

Hey, you never know.  In python 3 we might need to revisit this, in the
face of unicode symbols.
Changelog 0.6.3 release