Updating a gist will update cache as well

* Remove the key in the cache's store after deleting the cache.
* Update the cache data after updating the gist to the service.
* Since we do a redirect after the POST, and that GET will get data
from cache, updating the cache before the redirect is sufficient to
reflect the change to the user.
Redirect to right path when only gist_id provided

When receiving request on `/:gist_id`, redirects the client to
`/:username/:gist_id`

Needed to implement `previously_existed/2` and `moved_permanently/2`
callbacks for this to work.
Close #18 saving new comment into cache
Close #16, close #17 updating cache when authoring

* Adding a new gist will update gists list's cache.
* Updating a gist will also update gists list's cache.
* Of course the new gist has its own cache.
Close #19 removing its caches for removed gist

* Remove the gist's cache
* Remove the gist's comments' cache.
Close #20 removing deleted gist's cache from list
Changes the method of selecting blog content file.
Rather than looking for the file named after the title,
the first markdown file is selected from the list.
This is done when displaying content for the edit form,
and whenever the handler handles the post.
Changed checking for first markdown file to use utils.
Will cover all variations in extension for markdown.
Update changes for new release
Merge branch 'release/v0.3.0'