Implemented Promise Tracker

Promise Tracker will track the number of thens called once an
initial promise has been returned. It also provides beforeThen
 and afterThen callbacks.

Scan Barcode controller also has access to a progress bar
Improved promise tracker

- Promise tracker now doesn't overwrite original promise, creates a new
one
- Promise tracking added to kit, select, and default controllers
Merge pull request #317 from jbeast/promise_tracker

Promise tracker