Pull to refresh refactor

Refactored pull-to-refresh logic out of WebViewController into
PullToRefreshViewController, which can be subclassed and reused.

Child class needs to override methods to get the scroll view,
return appropriate strings for the label, and perform action
on completion.

Note that this sets the scroll view's delegate to the view controller,
so if doing additional scroll view delegate stuff you may need to
call a parent method to avoid losing the pull to refresh behavior.

Change-Id: I7c4a69f5598f9bd359567074992ce4253d4df6ee