Change function defs to variable defs in block scope.

Function definitions in blocks cause chrome to throw syntax error in
strict mode.
Further .map and .filter cleanups and optimizations
Custom build dependencies
smaller timers
obsolete test
Simplify and optimize .reduce and Promise.reduce
Pass internal cast as argument to modules
Refactor Promies.props

- No longer split into 2 files
- Remove dependency hack in PromiseArray
Remove file splitting for promise arrays
Stop using createPromiseArray
Remove isBound checks where unnecessary
Stop passing bound value to PromiseArrays

PromiseArray can read it from the passed promise instead.
Centralize state propagation
Implement each
Remove no-break space character
Add a check for non-ASCII characters
Group some methods logically together
return file contents
Use abstracted index calculation
Remove unneccesary method