[bug 913956] Switch to Persona observable API.

This wasn't as bad as I thought. I reused all the views we had and basically made the watch() API mimick what we were already doing. I tested a bunch of different scenarios, including change email, and things seem to work.

r?