Adds frontend short statuses support. Admin management to come with next commit

Main idea: going a little further into the POSSE (publish owne site, syndicate everywhere) things, and get mor visibility by being listed as an Indie Web project.

Instead of publishing statuses directly to Twitter / Facebook / something else, we publish them on Typo. A status is a formated, 200 or 300 characters max message. Statuses have a permalink like posts, in a /st/ hierarchy. The permalink start with the status id so we can push the same message twice.
When pushed on Twitter / FB..., we shorten them to the max size of the service posts and add the short URL to the status.

Example:
Posted on Publify:
  permalink: http://myblog/st/1-hello-this-is-a-status
  short URL: http://myblog/shortlink
  message: Hello, this is a status

Posted on Twitter:
  message: Hello this is a status (myblog shortlink)

Statuses are not listed on the main timeline.

Examples in the wild: Tantek Celik (@t) way of doing. http://tantek.com/2013/183/t1/google-reader-dead-answer-integrated-indie-aggregation

Implementation on Typo:
• Statuses inherits from Content using the body field + user's text filter + permalink (this is done and covered)
• Each users with publishing rights can create statuses
• If no Twitter / Whatever account is configured, statuses are just published on Typo.
• Twitter accounts are setup on a per user basis.
• Statuses are displayed on /author/your-name pages
• Statuses timeline is /st/, displayed by th default number of items in a list.

Open questions:
• Should statuses timeline have a RSS/Atom feed?
• Should we cache the user avatar or load it from Twitter?
• Push on a per status basis?
• Is it already lunch time?
Adds a hack to allow theme creators to bundle gems with their theme when needed.

This won't hurt anyone and I'm really fed up with having constant Gemfile conflict because my theme needs hpricot to run.
First attempt to give Typo short messages capability. See commit e7b1331 for more information and specs.

TODO:
* add Twitter integration.
* add RSS / Atom support
* add to the sitemap (option?)
* allow to use an alternate domain name for URL shortener (???)
* refactor, add more tests (it's almost 40ºC (100ºF) here so finding time to code should not be that difficult).
Improves short statuses adding title / descriptions options.
Adds spec to transforms lib.

The to_title method is dependant from the contents models and is tested as a result of the contents controllers (articles, tags, categories)
Adding POSSE feature, first with hard coded Twitter support.

I know this lacks:
• UI (you need to setup using rails console first)
• Documentation (no one knows how to setup this but me)
• Specs (lots of them)
• Refactoring (I already know how to do it)

Reasons why I'm pushing a so ugly feature / code are simple:
• I need to play it in real life to fine tune the feature.
• If we wait for a feature to be perfect before we push it, we'll never push it

Hopefully, I have lots of time in a lost French countryside to polish it.
Fixes a bug in statuses when sending a message containing links

When sending a message, length is calculated to fit in a single tweet.
When sending a message with links in it, message length was calculated with unshortened links while Twitter shortens links to 21 characters. This would cut the message too early.
Adds static cache to statuses
adds date format

Japanes a popular date fromat "yaer/month/day".
fixs atom lang.

default lang="en" . Get General setting Language value
Merge pull request #202 from mukaer/adds_date_format

Adds Japanese date format.

This field starts to be way complicated. I'll refactor it by letting people to chose how they want their date to look like, but this one will be OK for now.
Merge pull request #203 from mukaer/fixs_atom_lang

Fixes atom lang.
Preview crashes when the theme sanitizes a missing page_title.
Adds a meta viewport so the layout would act nicely to mobile devices.

This is not making Publify a real mobile friendly app, but at least it makes it useable on iPhone / Android phones which is a first step.
Fixes hcard on statuses links.
Adds some UI to fill in Twitter credential.

I need to code the whole user path here, but I first want something I can use:

* Proper link to create the application on Twitter from the settings/write and status/new
* A good setup text to explain what to do
* The good "add Twitter" link to get the oauth credentials

To be honnest, this is not really on the top of my TODO :-)
Adds an option to use a custom domain for URL shortening

You may want to pick up a significant domain name for your blog (like my-shiny-weblog.com), but use a different domain for URL shortening, like shi.ny.

Note: when they open the .ny TLD, I want the knightswhosay.ny domain.
Fixes a bug on the statuses order (hint: a status is currently always published)
Update dependency on rspec-rails
Fix some Ruby syntax warnings