fix for #622 - support start in enumerate
tweaked registry + stacking implements for functions
slightly better name to access the wrapped function in implement.
no need to getattr on an attribute known to be there.
changed implement stacked register from recursive to iterative.
added assert in make_enumerate_object
raise an error in type inference if enumerate has more than 2 args

Note: relies on the python interpreter raising the error.
Merge pull request #623 from numba/622-fix

fix for #622 - support start in enumerate