WIP: The Next Generation of NumericExtensions (v0.3)

There is a related thread in Julia-dev: https://groups.google.com/forum/#!topic/julia-dev/_E1BqqImDeo

Primary Goal:
-- Easier & more user-friendly way to define functors.
-- Unified code generation facility 
-- Optimizing code generation
-- Useful macros: ``@map``, ``@reduce``, ``@devec``, ...
-- More flexible and powerful user interface.

This will be a major overhaul of the design -- but much of the API will be retained to minimize code breakage.