Allow draft posts by special-casing blank published_at_natural

I like to revise a post a couple of times before publishing it.
Sometimes there are glitches to work out in the presentation, like
linking to files that are attached to the post or refining a stylesheet
to accomodate a post with intricate presentational components.  Also, I
like to write the post right in the admin UI rather than locally in a
text editor so I can see a faithful preview.  And I often don't write a
post all in one sitting.

Currently, there is no way to save a post with a nil published_at date.
The default published_at_natural is 'now', and so when that is parsed,
the published_at date is always filled-in.  As an author, the best I
can do is set a published_at into the future... but then I have a
deadline that I don't want!

The front-end code already seems to support nil published_at to mean a
draft post.

Add handling of nil published_at on the admin side, and just a bit on
the public side:

* Default published_at_natural to '', meaning nil published_at
* Accomodate a nil published_at in various places in the admin UI
* Sort the admin posts index by updated_at if published_at is null
* Add the ability to set a published_at directly without setting
  published_at_natural
* Handle the nil published_at in several places of the UI, including
  preview, dashboard, and post editing
* Push checks for published_at into a link_to_post helper

Preserve the error message when an invalid published_at_natural is
entered.
Track db/schema.rb in version control

Rails best practice is to track db/schema.rb in version control, but
Enki does not track it.  Generally, version control best practices
dictate that generated files are not tracked, and db/schema.rb is
a generated file in some sense.  But the default Rails .gitignore does
not exclude it because:

    Migrations, mighty as they may be, are not the authoritative source
    for your database schema. That role falls to either db/schema.rb or
    an SQL file which Active Record generates...
    http://guides.rubyonrails.org/migrations.html#what-are-schema-files-for

Remove db/schema.rb from .gitignore and add it to Git version control.
This version of db/schema.rb was generated by running the current set of
migrations (which also regenerates db/schema.rb).
Merge pull request #74 from mcary/track-schema-rb

Track db/schema.rb in version control
Allow running Enki under a URL path prefix

I run my blog in a subsdirectory of my web server.  That is,
instead of blog.example.com, I use example.com/blog.  Rails 3 no longer
supports that as an out-of-the-box configuration option.

(There is an action_controller.relative_url_root key, but it doesn't
handle asset helper paths or, under some servers, the top-level route
rewriting.)

Tweak routing and URLs in several places:

* config.ru -- addresses most routing
* Set RAILS_RELATIVE_URL_ROOT to make asset helpers work
* Fix Enki-specific URLs in post_path helper and admin view to work
  in a non-root-path deployment

In config/application.rb, comment an example line that sets
RAILS_RELATIVE_URL_ROOT.  The line is commented so that the app still
runs in "/", but a one-line config change or setting that environment
variable would change that.
Tweak draft posts patch to address feedback from xaviershay

When reviewing my pull request, xaviershay requested these
changes:

* Add hint to published_at field on admin post edit form
* Favor '&&' over 'and'
* Stop stubbing Chronic.parse unnecessarily

Implement these changes.
Merge pull request #73 from mcary/draft-posts

Allow draft posts by special-casing blank published_at_natural
Tweak URL path prefix patch to address feedback from xaviershay

When reviewing my pull request, xaviershay requested these changes:

* Use ActionController::Base.config.relative_url_root instead of
  ENV['RAILS_RELATIVE_URL_ROOT'] in the UrlHelper and rackup.ru
* Mention the feature in the README, because it won't be found in
  config/application.rb

Implement these, but use Rails.configuration instead of
ActionController::Base.config, as it seems like the current Rails best
practice.
Merge pull request #75 from mcary/allow-path-prefix

Allow running Enki under a URL path prefix