fixes for app engine, JRD marshalling, and draft-14

- add NewClient method which takes an http.Client used for outgoing
  connections.  This is needed for App Engine, since the standard
  http.DefaultClient is unavailable in that environment.
- specify JSON mapping for JRD type to get proper JSON marshalling
- accept new "application/jrd-json" mime type (relates to #1)
remove legacy fallback

Since that was the only thing using XRD, this removes the XRD package as
well.  Technically, it's still valid in the latest WebFinger spec to
request a non-standard content-type, but in practice no one does, so
there's little point in keeping support around.

This also makes the following changes to bring things in line with the
latest draft spec:
 - add support for application/jrd+json in addition to application/json
 - no longer require that the JRD Subject match the requested resource
Merge pull request #5 from willnorris/appengine

fixes for app engine, JRD marshalling, and draft-14
add conf for Travis CI
Replace the plain text README by a markdown version.
refactor api for working with Resources

WebFinger resources can simply be treated as URLs with some extra logic
surrounding extracting the host for acct and mailto URLs.  This now
supports all types of URLs, not just email addresses, however if an
email-like identifier is provided, it is treated as an acct URI.  Full
tests for the Resource type have been added as well.

!! This is a breaking change.
simplify api for querying webfingers

Combine GetJRD and GetJRDPart into a single function, now simply named
Lookup.  This takes a string as input, so callers don't need to parse
the resource identifier beforehand.  Also provide a default client, so
now you can do a webfinger lookup with one call:
    webfinger.Lookup("will@willnorris.com", nil)

This includes complete test coverage for the new Lookup methods.

!!! This is a breaking change
add option to allow http lookups and fix AppEngine

By default, all lookups must be over https (per the WebFinger spec).
Add flag on Client to allow for http.  Also fix error checking for
AppEngine.
Readd the example to the README
Update the gdoc description

And mention the "work in progress".
Attributions
add support for falling back to WebFist

If normal WebFinger lookup fails, fallback to using the WebFist
protocol.  Clients created using NewClient() will be configured to use
"webfist.org" for WebFist lookups, though this can be configured to use
a different server or disabled entirely.
fix test for JRDURL()

The order of query string parameters is no predictable, so compare each
URL component individually.
add LookupResource() in addition to Lookup()

allow callers to perform a WebFinger lookup for an existing Resource,
rather than just a string identifier.  This allows separating the
parsing and lookup stages.
Merge pull request #6 from willnorris/api

API changes I'm working on