Fix up dynamic cell heights using Auto Layout

OK, I've fixed up a number of issues and added comments in the code to clarify what I've done. Take a look over the changes and please let me know if you have any questions! Hope this helps :)