[all] Make utils.addGetter create configurable properties

This is required in case a property is clobbered multiple times.
[all] Tweaks to builder.js

- Export clobber and recursiveMerge functions
- Eliminated a dead-code branch (never have !clobber && merge)
- Fix the case where sub-objects could not be merged as new properties
[all] Expose the module map.
[all] Implementation of modulemapper + tests.
[all] Turns on modulemapper.

- Adds the ability to load all modules that match a given pattern.
- Uses this in bootstrap to load all symbol modules.
Use modulemapper for the File plugin.

This *should* be semantically the same as before.
[all] Use modulemapper.getOriginalSymbol() in FileReader

Also changes the function to return the actual symbol if it was never
overwritten.
[all] Deprecation message support to modulemapper.

Also changes deprecation messages so that they are logged only once.
[ios] removing use of instanceof
2.4.0rc1 updating
[all] Move call to modulemapper into platform.js

This allows it to be used by blackberry's two-phase symbol mapping.
[ios] Use utils.typeName() helper function.
Merge branch 'symbolmapping'

This changes how the File-related modules are mapped to JS symbols.
https://issues.apache.org/jira/browse/CB-2227
[android] Remove uses of Function.prototype.bind.

Fixes cordova.js on Android 2.3
[android] Fix exec bridge when calls contain null.

https://issues.apache.org/jira/browse/CB-2279