Use web2py scheduler to run Sphinx tasks to avoid blocking

Fixes #241. 

Note: We'll have to figure out how to run a scheduler worker when we deploy this to Webfaction. Until we do that, making new courses, rebuilding courses, etc are *not* going to work (this includes the beta site).

One way to launch a scheduler worker is
    `python web2py.py -K runestone`

I really, really hope this doesn't cause any issues. I had to do a massive 3 way manual merge to get this merged with my addition of the course start date feature and the move of static/submodules stuff to `common`.  I *think* I've got everything working, although I'm still a little nervous about the submodule references - I had to do some stuff I don't really understand to check them in to this branch.