Fix --30-- truncation

The regexp wasn't multi-line so the string was only truncated up to the
end of the line.
Add atom feed
Infer geo information from images

If the note has no geo information then we try to infer it from the
image.
Update gems
Store Levenshtein distance

Also, use Levenshtein distance instead of crude word count to decide
whether to store a new version.
Add place and content_class
Tidy up
Refactor settings

Divide files better so that some can be stored in database.
Add pluralisation for statistics
Store settings in database
Fix settings for tests
Adjust settings
Delay settings initialisation until after db:migrate

Otherwise it crashes in Travis CI.
Do not invoke Settings before initialising
Remove shuffle to avoid random strings in tests

The random string was triggering a new language detection request, which
was not stored in VCR and was therefore failing on Travis CI.
Increase note change when testing version
Add customised share buttons
Refactor settings

Re-organise settings' namespaces.
Update gems
Skip settings if table has not been created