No longer persist XModule templates

Instead, we use XModule field default values when creating an empty
XModule. Driven by this use case, we also allow for XModules to be
created in memory without being persisted to the database at all. This
necessitates a change to the Modulestore api, replacing clone_item with
create_draft and save_xmodule.
Change default rerandomize and showanswer

The defaults used to be rerandomize=always, showanswer=closed. This is
preserved for capa problems being imported from XML. However, for
courses, and for problems created in Studio, the default has been
changed to never/finished, to match the previous defaults used by
Studio.
Require markdown to be explicitly set
Set about page default content from overview.yml template
Fix pep8/pylint errors
Don't force field inheritance of default values
Implement next generation modulestore

A new modulestore backed by mongo that changes the data format to
facilitate easy versioning, sharing content between courses, and fast
lookup of course structure and Scope.settings data.

Conflicts:
	cms/djangoapps/contentstore/tests/test_contentstore.py