Add row and section for all instance cell.

This controller needs to show a button (cell) to get the user to the list of all
instances. We adjust our current sections and rows to accommodate this.
Fetch public instances and store resulting data.

We need to hit the new endpoint to retrieve the list of all public instances. We
store this since it won't change often much like the species list.
Add new table view controller for all instances.

This new controller calls the shared settings which updates the list of
instances and then generates an alphabetically sorted list of table cells. The
cells are added to the controller in a single section. The all maps view  has a
delegate that will be set to the instance switcher controller so that controller
can update perform the instance switch which avoids the instance switch logic in
multiple places in the code.
Make instance switcher a delegate.

The instance switcher needs to be the delegate for the all instance table view
controller and it needs to trigger switching to an instance update based on the
returned data.
Prevent application from entering infinite loop.

If the server does not respond or serves bad data on attempting to set the
instance we hit an infinite loop of wherein we:
(try to fetch an instance) --> (fail) --> (repeat)
Instead we just throw an error that can be dismissed and a simple log message.
Merge pull request #169 from lliss/topic/instance-switcher-all-maps

Topic/instance switcher all maps