Enhanced support for limits and timeouts.

* Add support for request size limits
* Add support for bandwidth limits
* Expose keep-alive parameters
* Move to 1.3
Changing location level connection options, better control over reads.

* Now the location is responsible of reading the request body.
* The library no longer modifes the body of the original reuqest letting http.Server handle and close it.
* Location supports live updates of the client connection settings and updates the transport.
Parsing expressions into failover predicates

* Failover predicates now can be constructed from mini language

Examples:

* RequestMethodEq("GET") - allows to failover only get requests
* IsNetworkError - allows to failover on errors
* RequestMethodEq("GET") && AttemptsLe(2) && (IsNetworkError || ResponseCodeEq(408))
  This predicate allows failover for GET requests with maximum 2 attempts with failover
  triggered on network errors or when upstream returns special http response code 408.
Support for updating middleware chains affected by changed options
Merge pull request #63 from mailgun/sasha/limits

Enhanced support for limits and timeouts.