Moved Future into its own file; moved common future/promise stuff
Implemented behaviors for :future and :promise