Add no nested option

Adds an option called createNestedKeys which defaults to true.  If true the source json will be unflattened into a nested object, if false the key will not be changed.
Okay, I remember why reverse is needed, it's `util._extend` that reverses stuff in the process. I've modified the code above to use `reduceRight()` instead of `reverse().reduce()` so it will be consistent with the existing code.