Add a way to pre-fetch notebooks onto an image at launch.

These AMI changes go with the nb_url branch pull request
for the notebookcloud app. user_data is inspected for
an optional git url, and if present this is cloned onto
/home/ubuntu/notebooks (else an empty notebooks directory
is in place as before).

added server.py to serve any error message resulting from
the git clone, so this can be reported back at the launcher
app. This should probably have been given an invisible name
like .notebookcloud_autofire.py, or maybe it belongs in
a lib directory someplace?