Field selection as parameter

Allow the fields that are selected to be stored to be selected via a parameter. This will allow custom selection of which fields from the Google Maps results should be stored in the contact data.
Not quite sure what the standard for this has been tbh. I vaguely remember someone using `-`, and know of a project where `_` was used. The only thing we would need to be concerned about is whether the delimiter will mess with riak's lucene-based queries.

@smn ^^^ any ideas on a good delimiter?

As to your other question (how we should go about storing the data), I think we might need to do some unpacking. I think what might be simpler for now would be to simply store all the location data (unpacked). Since we don't try store contact data in memory, the size implication of storing all this data should be fine (I think). For eg:
```
self.contact.extra['location:geometry.bound.northeast.lat'] === '...';
self.contact.extra['location:geometry.bound.northeast.long'] === '...';
```

Step two could maybe then be two allow users to specify dotted paths to specific fields they want. So if they provide `'location:geometry.bound.northeast`, we would store `'location:geometry.bound.northeast.lat'` and `'location:geometry.bound.northeast.long'`. I think it might make sense to do that in a different PR, but up to you.

[`.split`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/split) and [`.reduce`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/reduce) will probably help for this stuff.