The great merge

This is a merge of the jm/upgrade branch into master minus the local cookbook changes.  This means it won't work with csta, but it will be a fairly small self contained change to do that.

This brings in the long anticipated api, gemfile, and other smaller bug fixes.

It's been tested on ec2 by me and passes pedant.  Please test it out on your system and feel free to use vagrant as well.