add support for the 'components' param

docs:
https://developers.google.com/maps/documentation/geocoding/#ComponentFiltering
add test coverage to 'components' param
Refactor to move manipulation outside .geocode()

It's not exactly a params class, but it moves nitty gritty details out
of the way.
Merge pull request #32 from crccheck/add-goog-components

add support for the 'components' param of Google Maps v3