Updates Aws::Util#underscore to better address irregular inflections.

Updated underscore logic to deal better with trailing numbers.  Also
replaced the map of irregular phrases with a map of irregular words.
By doing so we can correct entire classes of irregular phrases with
a single rule.

Also added a suite of unit tests for the inflector which includes
a map of known irregular inflections.

Fixes #44
Rebuilt APIs with the updated underscore inflector to correct inflection bugs.

Fixes #44