Respect map boundaries

When the map has defined boundaries (maxBounds), do not move
to the location if it is outside the boundaries.
Added "onLocationOutsideMapBounds" option to trigger a callback
and customize the behaviour. By default move is aborted and
message from newly defined "options.strings.outsideMapBoundsMsg"
is displayed. Fixes #25