issue #717 #733

Playing with blacklist reveals a lot. Which is making me think twice
about having watches in here at all. (2.1.X may have none) The watch
events from zoom (which happen a ton) really begin to slow down the map
as it goes. IE. Make a bunch of markers keep zooming in and out.. the
tiles and scaling will eventually get crummy. Without the mods to the
scope values its all gravy. So, to have 2.0.X have available speed and
still have a similar API, I will add blacklist watches as well to follow
up commit set / PR.

Events Cleanup
- listeners are tracked and cleaned up on $destroy

Events are exposed via Control #733. They can be removed manually or use
scope.control.removeEvents(listeners)

Center, and Zoom watches

- double checking if the kicked off watch is even relevant by
  checking against its current scope value (not newValue). This is
necessary since the watches are kicked via timeout. Now the bail out
(return in the function) actually happend.
center and zoom.. more locking for watches
searchbox isolate scope, template and events required, all other properties optional
example, can't reproduce yet
reverted _.each in favor of for
Merge pull request #974 from nmccready/nick_mc/issue_717_zooming_in_steps_laggy

issue #717 #733 zoom and center speed, blacklist code cleaning
Merge branch 'master' into develop

Conflicts:
	dist/angular-google-maps.js
	dist/angular-google-maps.min.js
	dist/angular-google-maps_dev_mapped.js
	dist/angular-google-maps_dev_mapped.js.map
	dist/angular-google-maps_dev_mapped.min.js
	dist/angular-google-maps_dev_mapped.min.js.map
build from merge
Merge branch 'master' into nick_mc/issue_979/polys_race

Conflicts:
	dist/angular-google-maps.min.js
	dist/angular-google-maps_dev_mapped.min.js
	dist/angular-google-maps_dev_mapped.min.js.map
Merge pull request #981 from nmccready/nick_mc/issue_979/polys_race

example of /#797
Merge remote-tracking branch 'upstream/master'

Conflicts:
	dist/angular-google-maps.min.js
	dist/angular-google-maps_dev_mapped.js.map
	dist/angular-google-maps_dev_mapped.min.js
	dist/angular-google-maps_dev_mapped.min.js.map
fixing website_libs/dev_deps.js
matching website/dev_deps.js with upstream/master
Ensure map options are respected after free-drawing polygons
Merge pull request #980 from kandizzy/master

SearchBox, making events property required in isolate scope
fix for #899

ui-gmap-map-control does not support negative index override of core controls' flow primacy
Merge pull request #983 from owahlen/master

fix for #899
race for polys seems fixed, waitGo made into array of promises, and figureoutState put into the lock of promises (existingPieces)
typo issue #987
build