A start to data validation.

-The compose_gist function in Utils has several checks on data
for each of the block types.  The data must come in with the exact
data types and order.  Any other cases can be applied to the data
for logic.  This should provide a start in stopping any unwanted data
from having adverse affects.

-The submission and edit POSTS have been updated to redirect
the user without any update to github under certain conditions.
These conditions are:  user passing an empty data object, an empty files
and content for a markdown file.

-We have to work with Github's restrictions, being that at least one file is
required and that all files must have some content.

-Corrected some loadData and toData functions of blocks for consistency
in formatting of data.

-Placed a required attribute on the markdown text area and code file name.

-Placed a requirement to have at least 1 markdown block.