Forces mapping to wait for a value.

Previous formulations would just return the promise if the value wasn't available, without actually queuing the operation for later.
Removes concat.

concat(b) doesn't quite make sense here because we can't really fulfill the associativity rules in any reasonable way. A Promise is supposed to hold just one value, if someone wants to concatenate promises, they'll have to chain several of them together.
Includes tests.
Moves library to lib/ folder.

--HG--
rename : src/futurism.js => lib/futurism.js