Better support for underscores and uppercase together in variable names.

Can we support this use case?
Currently: variable ```UserId``` is translated into ```user_id```, and ```User_Id``` into the same ```user_id```.
With this PR the second case would be translated into ```user__id```, allowing better mixing underscores and upper cases in variable names.