First commit

Global namespace: jsQ
Feature:
- Reuse $q or Q if they're available
- jsQ defer with 2 methods: resolve, reject
- jsQ promise: then, catch (fail), finally (fin)
- jsQ finally clause doesn't return a promise like $q or Q. It should be
last clause in chaining promises