Various fixes for the Settings screen

This addresses all the points raised in #327, both visual fixes and a better Edit interaction.

There's one slight hack that isn't great: in order to get label alignment, the blavatar `UIImageView` size is set as a const, and is used to generate an empty image for the 'Add a Site' row. But it works. (Dynamically detecting this size would be annoying since the images are loaded asynchronously...could be cached, etc. but this is simpler).

Some general code cleanup as well. Some row values are computed dynamically now in methods. I'm never really happy with this approach, but it works.

Before and afters:
![bettersettings](https://f.cloud.github.com/assets/515035/1498042/5f92fb50-4821-11e3-8a0e-a1bb03b94a5a.png)

![badsettings](https://f.cloud.github.com/assets/515035/1498045/65763582-4821-11e3-9765-37c6a1761f20.gif)