Save filename as the title, no underscore replacement.
Changes the gist page for the user logged in to be
formatted with the Sir Trevor library.
The blog post is broken down to Sir Trevor text blocks.
This is broken down by file reference.
File references will eventually have their own blocks
which will show the file content.
Does not support submitting the edit yet, only formats the data
received by client.
Added the libraries for Sir Trevor.
Moved js out of gist html into the base file for now.
Removed previous editing form.
Added title input for the Sir Trevor form.
Split the text blocks client-side

The server should not be concerned of preparing the data for a Sir
Trevor instance on the client-side. If the client uses Sir Trevor,
then the client needs to parse the markdown data to fit what it
needs.

Therefore, the server just put the markdown inside the `textarea`.
The client takes it out, parse it for text blocks, store to JSON,
and put the stringified back into the `textarea` for Sir Trevor to
consume and render as blocks.
Merge Steven's change
Also include the file reference as part of split.

This is a problem because it's just a file reference and not the actual
code. Maybe we want to replace the references in the markdown with
the actual code.
A way to separate code block and text block

It's pretty messy right now the way the template parses the files list
and evaluate the blog content using the parsed files' code wrapped
in a `pre` tag. Then the JS parses for that `pre` block and decides
the block type.

Need to refactor for DRY later on.
Use the filename as the id of the `pre` tag
Creating a new gist uses the same editor interface

It creates a faux gist when at `/:username/new` and let `gist_handler`
takes care of rendering. Since the faux gist has no relevant data, it
displays a normal editor for the user to fill in.

Also refactor `:gist_handler.resource_exists/2` to smaller functions b/c
it is getting too long.
Adds a File Block for Sir Trevor.
The file block has a filename field and a code editor.
The code editor will switch language types whenever a valid extension
is provided in the file name.
Currently there is an issue in initially viewing content in the code editor,
the content won't pop up until a key is pressed in the code editor or a
valid change in file type is made.
Revised naming of File block, is now Code block.
Comment is just another block
Support drop file into the code block

Will replace content (instead of appending by default), set the new file
name and the appropriate mode.

Also add more convenient options for CodeMirror.
Includes a Markdown block which gives the user tabs
to write a post and to preview the post with markdown parsed.
toData has been implemented in the Code block.
Old code that is not being used has been removed from base.
Merge branch 'feature/ux' of https://github.com/sntran/gists.io into feature/ux
Added a Teaser Bock, which just extends the Markdown Block.
Will need to find a way to get the teaser passed to the base html
file so that we can populate the data for an existing gist.
Users can only place down 1 teaser at a time.
Revised naming convention for html elements in our blocks.
Fixed the problem with having multiple tabbed blocks in the form,
all tabbed blocks should work now.
On block render for the markdown block, it will generate unique IDs and
href values to allow for the tabs to work on multiple blocks.
Other code revisions.
Made some code revisions.
Markdown and teaser editor areas are now editable <pre>
rather than <div> which clears up some formatting problems.
Renamed the block js files to include -block in the name.
Changed collecting markdown for the markdown block to use .html()
rather than .text().  This clears up some formatting problems in the
preview.