Improved parsing of Geocoder objects

Since the Geocoder API returns address components in a nasty array
(instead of using objects, because that makes too much sense) we need a
way to parse them to ensure that we’re pulling the right information
from them into our database. This parser should do that. I’m not 100%
happy with it, but it seems to work for all North American addresses I
tried.