Don't overwrite table header, beginLoadingAnimated:, bugfixes

-I use table view headers in my app, so this was my main motivation for this pull request. These no longer get overwritten.

-UITableView is a UIScrollView, so no reason (as far as I can tell?) to have separate functions for each. attachToTableView now calls attachToScrollView.

-beginLoadingAnimated allows you to choose if you want to animate the appearance of the refresh control, or have it show up instantly. Also, in my previous pull request, I didn't set the state to Refreshing in beginLoading, which was causing problems, so i fixed that too.

-Some of the math with the content insets was weird, so I simplified it a bit. Now, the content inset is only changed when beginLoading is called (to add REFRESH_CONTROL_HEIGHT), and when finishedLoading is called (to switch back to the original).

-Reduced overall length by about 60 lines, and I've tested the demo project and everything seems to still work. I'm uncertain if the the coverView functionality still works; I don't really understand what the purpose of it is, so I can't tell if I've broken it. Let me know if I need to fix it.