Fixed DialogAnnotation functionality.

- Changed DialogAnnotation and DialogAnnotationController to be concrete
  instead of abstract classes. This allows us to instantiate these
  classes so that we can create text-only dialog-annotations.
- Added additional constructors for the DialogAnnotation class that
  mirrors the super-class constructors.
- Fixed a bug in the DialogAnnotationController where the cursor would
  not reset to the default cursor after closing the DialogAnnotation.
  The fix for this bug is to add a call to the setCursor() method in the
  onActionPerformed() method to set the cursor to the default-cursor.
  Also, the order of the updateCursor() and forwardButtonAnnotation()
  method calls was swapped around in the onSelected() method. This is to
  ensure that the onActionPerformed() method is called after the
  updateCursor() method ensuring that the onActionPerformed() method
  call is last so that the default-cursor change persists.
Added ReverseLookupGazetteer interface.

Added a new interface to allow for reverse lookups to be performed.
Thus, given a LatLon a ReverseLookupGazetteer will find the closest
matching points of interests based on distance to the given LatLon.
Added Yahoo reverse-lookup functionality.

- Changed the YahooGazetteer class by implementing the
  ReverseLookupGazetteer interface (in addition to the Gazetteer
  interface). Provided an implementation for the findPlaces() method
  that performs the reverse-lookup given a LatLon parameter. The method
  is similar to the original findPlaces() method in that it uses the
  same base GEOCODE_SERVICE URL-string but adds a latitude and longitude
  string postfix instead of the search-string postfix. The result that
  is returned from the POIUtils.callService() method is the same as the
  original method. This allows us to use the parseLocationString()
  method in the new findPlaces() method.
- Expanded the parseLocationString() method by adding logic to parse
  additional fields such as name, neighborhood and county. Also, added
  checks for all of these fields to allow us to skip over them in case
  they don't exist in the returned XML. This prevents unwanted commas
  from appearing in the display-name string that gets built up.
Added NominatimGazetteer.

- Added a new gazetteer class, namely NominatimGazetteer that allows us
  to search for addresses as well as performing reverse-lookups on the
  OpenStreetMap data. The class implements the Gazetteer as well as the
  ReverseLookupGazetteer interface. The class is configured via the
  worldwind.xml file by reading the base geocode-service URL that will
  be used in constructing the full search-URL. We allow for this
  configurability as the Nominatim service can be hosted offline. The
  geocode-service URL can also be set directly via the
  setGeocodeService() method.
- Added a new key to the AVKey class, namely NOMINATIM_GEOCODE_SERVICE.
  This allows us to search for the Nominatim geocode-service URL from
  the worldwind.xml file via the Configuration class.
- Modified the default worldwind.xml file by adding an entry for the
  Nominatim geocode-service URL. The default value points to the
  http://nominatim.openstreetmap.org URL.