Update storyboard.

The Tree Detail screen had strange formatting that made it difficult to easily
edit the behavior and appearance of the view and the cells. Shift things around
to better cope with refactor.
Set date picker start date to set value.

When tapping a date field the default start date had been set for the current
day. This is fine if there is no start date however if there is an existing date
the picker should start with that date set so that users can make small
alterations from the current value.
Use array of dictionaries for cell & section data.

We had been using two arrays to deal with tracking the data for section headers
and cells. We would add and remove data from these and so had to continue to
update code with tweaks to point to the proper index for a section title or
specific cell. This caused lots of problems and confusion. Instead we build up
a mutable array of dictionaries. Each dictionary has a "title" which will be the
section title and "cells" which is a mutable array of the cells in the section.
This way the single structure can be responsible for rendering the entire table
and adding a cell does not require adding or subtracting from indexes with
magical numbers. To reduce complexity we also re-render the table when
transitioning to and from edit mode. This is also done after login to avoid
stale data.
Fix alignment of editable cell labels.

Cells were build to expect a label and a value below it. This is good for static
content but there is no value when in edit mode since we show fields to edit.
Offset the position of the name field so that it centers in the cell.
Fixup code formatting.

Adjust line breaks and placement of curly-braces so that things are more
standard.
Don't rely on cell placement to update cell text.

When swapping the label of the set species cell we had been relying on the
knowledge that it was the first index in the list of visible cells. This
resulted in hard coding a magic number.

The original solution was also flawed because updating the visible cell in the
table is not a sustainable solution. Cells get re-rendered when they  leave the
view via scrolling and thus the text would revert. It was also possible to
update the text in the wrong cell by shifting the topmost cell off the screen
and then editing. This udpates the default text on the renderer and then
re-renders the cell based on indexpath thus ensuring the proper cell text
changes and remains changed.
Map detail cell renderer cleanup.

The map cell was exhibiting  strange behavior and chevrons that would appear and
disappear. There was also a set image for the chevron rather than using the
built in cell style. This was stripped out to reduce complexity.
Clean up some lint and add comments.
Merge pull request #186 from lliss/topic/rebuild-tree-detail-screens

Topic/rebuild tree detail screens