Everything and the kitchen sink

Took all the changes in my `edge-stable` branch and committed them into a fresh branch from master. Also added a couple adjustments to cookbook uploads with knife (to fix circular dependency issues) and added a new `unique_id` cli option. Its intention is to be used with ruby based configuration files. 

Replaces pull requests:

* https://github.com/mattray/spiceweasel/pull/32
* https://github.com/mattray/spiceweasel/pull/31
* https://github.com/mattray/spiceweasel/pull/29
* https://github.com/mattray/spiceweasel/pull/28
* https://github.com/mattray/spiceweasel/pull/27