Parse keypaths that begin with numbers

Hashes can have keys that begin with a number.

When parsing a keypath, we currently expect the keypath to begin with a letter.

I modified the RegExp to accept keys that begin with numbers only if they are preceded by a letter or an underscore, i.e. `404_title`. This prevents integers from getting picked up by the parser which caused tests to fail.

## Review

@nciagra @hornairs 

/cc @kristianpd