Explicit start/stop for Fractal demo.

This change adds buttons to start and stop the instances.  It also tears down the map controls as this happens.

This change also adds a 'spinner' to show when an AJAX request is outstanding.  This required including the bootstrap images instead of just JS and CSS.
More cleaning up fractal demo.

* Separate out 1 VM and 16 VM into separate classes/controls.
* Visually show state of VMs with squares
* Allow squares to be updated outside of start/stop.
* Support common query params on every request in gce.js.
* Have gce.js update UI objects on every status instead of just heartbeats.
* Introduced util.js for some useful string functions.  Changed instance names for fractal to be zero padded so they sort well in UI.
Convert fractal runtime to Go.

The source is now checked in and the VM is configured to compile it on start up.  The text of the program is passed via metadata so there is no need to stage things in BigStore any more.
Rework squares class to represent 'SERVING' state.

In addition, I made the GCE class pass more information down and more flexible about how heartbeats work.

Added FontAwesome (http://fortawesome.github.io/Font-Awesome/) so we can have scalable icons.  Use this for check boxes when instances are serving and for a cool new spinning icon when ajax request is outstanding.

Fix up gce.js and squares.js to declare instance variables in constructor instead of prototype.  Variables on the prototype are 'shared' variables.

Changed square colors to use official Google logo colors.
Fix up image_magick sample.

Work with new squares interface.  Also make it work when the custom image doesn't exist.
Merge pull request #4 from jbeda/master

Awesome work! Love the Mandlebrot code in Go and under our control. Thanks Joe!