Write up documentation on how to implement a new runtime, and formalize the abstract classes used by XBlock

[LMS-1520]
Merge pull request #130 from cpennington/runtime-docs

Write up documentation on how to implement a new runtime, and formalize the abstract classes used by XBlock