Update appengine version
Add Heroku driver

Because app engine folks don't allow streaming and limit max response content
length to some unreasonably small amount which can be an issue for long reads.

To run locally on Heroku toolbelt use: foreman start

To run on the server, import env vars to server config with:
    heroku config:set HEROKU=1
    heroku plugins:install git://github.com/ddollar/heroku-config.git
    heroku config:push
Add environment variables

- Add APP_DEBUG (defaults to 0) to App Engine config
- Use APP_DEBUG for urllib2 debug configuration
- Set CURRENT_VERSION_ID on Heroku (App Engine sets it automatically)
Update app version on dev branch
Move generators to lazygen module
Unify app settings in json file

Remove duplicate settings from .env and app.yaml
Move startup functionality to a function
Add app settings handling module
Move text extraction to standalone module
Improve text from html extraction

Add space padding so that text in adjacent tags wouldn't stick together.
E.g., "<p>Hello<br/>World!</p>" should look as "Hello World!" and not
as "HelloWorld!".
Add Readability as the first tier server parser

Only if Readability returns empty content try other methods.
Also, don't directly call Readability API from javascript. And per
Readability blog suggestion, don't expose API keys there but
use a server-side proxy instead.
Allow gzip compression in Readability API responses

This can save quite a bit traffic when getting JSON content
from Readability online parser.
Add optional compression of ajax responses

Implement 'deflate' and 'gzip' encodings and compress flask
response if 'accept-encoding' header is set. Also add alternative
'deflate' method when decoding incoming Readability content.
NOTE: This is probably good for Heroku because GAE, besides
disabling dynamic content generation also seemingly strips
'accept-encoding' headers from incoming requests, probably
because Google guys think they know better when to compress.
On the way, fix some docstrings in lazygen module.
Move index to flask templates and disable CORS
Send preprocessed text content instead of html.

And move some parsing logic from js to the server.
Minor GAE update

Fix version id and don't upload 'tmp'.
Update requirements.txt
Add Gutenberg alert and assertions
Propagate skipkeys parameter to JSON encoder
Add long word hyphenation and text cleanup

- Add git submodules for pyphen and readability;
- Add guess_language package to requirements.txt;
- Add long word hyphenation with pyphen. The maximal word
length is configurable in settings.json. Hyphenation is based on
language guessed with guess_language. TODO: we can do better
here, e.g., by analyzing lang meta from HTML or probably using
Google Translate API on the client;
- On the client side, attempt considering punctuation when calculating
the split point of the current word.