documentation updates

* Finally worked on an introduction for godoc.
* Rewritten the README.
* Updated the Copyright year.
cleanup README.md
use uritemplates

Use uritemplates instead of cleanPathString to correctly encode the
URL path.

We follow the Google Go API here. See
https://code.google.com/p/google-api-go-client/ and especially
the subdirectory
https://code.google.com/p/google-api-go-client/source/browse/#hg%2Fgoogleapi%2Finternal%2Furitemplates
add travis-ci
testing with travis (1)
testing with travis (2)
testing with travis (3)
reduce travis tests to current and future versions
1.4.0.Beta1 fails with aggs; skip and wait for Beta2
add build status to README
fix tests to succeed with 1.4.0.Beta1

Tests most probably failed because of #5190 (see
https://github.com/elasticsearch/elasticsearch/issues/5190).
I'm not entirely sure why this succeeds in 1.3.4 but fails with
1.4.0.Beta1 though.
clarify sample code
use 1.3.5 and 1.4.0 in Travis
update terms aggs for 1.4.0; add children aggs

ES 1.4.0 includes additional fields for terms aggregations (e.g.
`sum_other_doc_count` -- see
http://www.elasticsearch.org/guide/en/elasticsearch/reference/current/search-aggregations-bucket-terms-aggregation.html)
that have not been part of the Elastic response. We added those fields
now.

We also added the new children aggregation that has been included in
1.4.0.
add fuzzy search queries

We add `fuzzy`, `fuzzy_like_this` and `fuzzy_like_this_field` queries
and updated the README.
fix and/not/or filters

An nil pointer dereference could occur when passing filters to
`NewAndFilter`, `NewOrFilter`, or `NewNotFilter`.
add filters aggregation
don't break tests for ES versions < 1.4.0
add Ping service

Ping can check if a service is alive. It also may return information
about an Elasticsearch server, e.g. the version number.
fix Travis build