Changing GeocodeRequestOptions to an interface rather than a class

A class for this is the wrong choice, when using it, specifying options
as an interface makes more sense. Also ensures the required field is
set. In their own MSDN example the bounds, callbacks, etc all have
default values. Makes no sense to break if they aren't set.