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 handles calls the shared settings to update the list of
instances and then generates an alphabetically sorted list of table cells in a
single section. It has a delegate that will be set to the instance switcher
controller so that that controller can update the instance as it currently does.
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.