Make Runtimes and model_datas singleton objects

These both now take XBlocks are the first argument in most methods, and
uses the ids from the block the method is operating on, rather than
baking scope ids into the runtime and model_data objects.

[LMS-827]
Remove experimental AnalyticsDb and progress publishing code
Merge pull request #63 from cpennington/singleton-runtime

One Runtime <-> Many XBlocks