This enables pushState support in Express

Since express doesn't handle 404 or any other errors explicitly this 
simply exploits that fact and adds 1 final piece of middleware to the
chain; this has the effect of serving up `generated/index.html` on any
request that would yield a 404

In conjunction with enabling pushState for Backbone/Angular/Embers 
routing abstractions this basically simulates what having a server
configured to work with HTML5 pushState works like. Yay? :)
This solves apiProxy eating everything

But also means people will have to provide a prefix for api endpoints.
I'm torn on this one, I know we used to have a hardcoded prefix in here
but if people are creating a single page app and using HTML5 pushState
all the examples I've found indicate that a prefix is used.
More quality of life for the pushState feature

- adds some docs at the top for apiProxy.prefix
- if users have pushState enabled but forget to include the prefix, they
will get a warning from `requiresConfig`
- customized logging output when pushState is enabled and an apiProxy
prefix is included
- factored out the common proxyError handler
- split the apiProxy concerns relating to prefixMatching into its own
function `prefixMatchingApiProxy`
Adds some readme love
Merge pull request #60 from testdouble/push-state

This adds the option to enable `pushState` simulation support in Express