Refactored promise queueing
Add a custom version of PinkySwear

A minimalist promise implementation royalty free. Because PinkySwear is
Promise/A+ complient I can use it to manage the code and callbacks and
allow projects which do not include Q as a promise implementation to at
least still use promises.

If someone prefers one implementation over another they can convert it
since PinkySwear can be wrapped.

    // Example of wrapping with Q
    var promise = Q(myPinkySwearPromiseObject);

This version has some code clean up (jshint styles) and adds two cusotm
methods (get and invoke) for a little bit of Q style flare. Nothing big.
Add notify/progress support to pinkySwear

Clear up scoping / variable names
Fix context bug in invoke()
Fix fin bug

In Q the fin method returns the original promise and not a new one.
The effect was that the result (return value) of the fin callback would
mutate the original promise value. This is a bad side effect and doesn't
follow what Q does.
Add resolve/reject helper methods
Replace download() with pinkySwear verson