Added friendly_id Gem.

Rebundled using `friendly_id` Gem and ran `friendly_id` generator.
Next up: actually using it.

RSpec: 404 examples, 0 failures
RuboCop: 112 files inspected, no offenses detected
PostData now generates semi-fake slug.

A function, not a database field. FriendlyId's *basics* will work, but
"to really do anything important, we need a database". Coming right up.

RSpec: 406 examples, 0 failures
RuboCop: 112 files inspected, no offenses detected
PostData slug is now a database column.

This makes life much easier for FriendlyId. We also now use the
`#slug_candidates` method to deduplicate the slugs for two articles
with the same title. Next up is making sure finders work the way we
want them to.

RSpec: 407 examples, 0 failures
RuboCop: 112 files inspected, no offenses detected
Slugged PostData factory and Post entity.

Post entity has two read-only attributes, `:author_name` and `:slug`.
The slug value DOES NOT change when the title changes. DANGER: This
does not precisely match the behaviour of the underlying `PostData`
instance's `:slug` attribute.

RSpec: 412 examples, 0 failures
RuboCop: 112 files inspected, no offenses detected
Slugged User entity; also UserData model/factory.

This closes #53.

User-related entities/models now have slugs similar to those for the
Post-related entities/models. Barring a couple of extended yak-shaving
research jaunts (see the issue comments), this took less time than I
expected. Onward!

RSpec: 414 examples, 0 failures
RuboCop: 112 files inspected, no offenses detected
Merge pull request #55 from jdickey/issue-53

Close Issue #53.