server side skeleton to support non-hashbang

In order to support non-hashbang URLs in our client JS app, the server
must return the app html for those as actual routes.

Additionally, the @crawlable decorator detects if the requester is a
facebook/google bot, then serve a special version aimed at crawlers
instead of the actual js app. This makes SEO and facebook/g+ sharing
possible.
remove all hashbangs
hijack href click to prevent page reload
implement crawlable Home route
implement crawlable Series route
fix infinite reload bug
make Series route opengraph-compliant
make Chapter route opengraph-compliant