Start using some deferred stuff
Add forgotten return deferred.promise()
Extra checking for undefined vars
remove crutches...
Refactor swapGems() to separate out when the gems match and when they don't
Using lots of promises to make things happen in order
Starting to do some cleaning
More misc clean up
Final cleanup before merge
Merge branch 'feature/animation-fixes' into develop