[Fix #10][Fix #3][Partially addresses #7]

This monster gets us back to the end of Section 6 in the book,
[Submitting Posts](http://objectsonrails.com/#sec-6) (and bearing in
mind that we'll skip Section 7, "Getting the tests running again", since
our tests never broke in the way Avdi's did).

We're ready to factor out a business domain object for creating a Post,
as done by-the-book in `Blog::PostsController#create` now. The Posts
controller **need not** know the mechanics of adding a Post to a Blog.

Other highlights (and lowlights):

* We've added the `bootstrap_form` Gem, so that's triggered changes in
  the `Gemfile` and `Gemfile.lock` files (obviously), as well as in
  `app/assets/stylesheets.application.css`;
* `BlogController` has a new `#reset` action for the convenience of
  feature specs that care about how many posts are in the blog when they
  start. See Issue #11;
* The first appearance of a controller for Posts. *golf clap*;
* The Post model has the `ActiveModel::Conversion` and
  `ActiveModel::Naming` modules, so that we can use forms;
* The Post model also fixes an ancient and venerable bug, where the
  design explicitly assumed (and documented that) the `body` attribute
  would always be explicitly assigned, not as part of initialisation or
  mass assignment. This interferes with the correct functioning of the
  "New Post" form;
* The "New Post…" link has been moved from the application layout to the
  blog index template;
* Along with the new Post controller and updated model, we have a new
  `app/views/blog/posts/new.slim` template, with a "Create a New Post"
  form;
* Major cleanup to the application layout itself;
* Specs for all the above.

RSpec: 104 examples, 0 failures
Script: 0 tests: 0 failures, 0 errors, 0 pending, 0 omitted
RuboCop: 31 files inspected, no offenses detected
RuboCop global overrides in `.rubocop.yml`: 3
RuboCop local overrides in our source/spec files: 3