Include phantomjs context when skipping screenshot
Clean up WebpagesController

- Add top-level class documentation comment
- Call new set_webpage method in before_action
- Add current_or_guest_user before_action
- Don't require users to be signed in order to update screenshot
- Add separate private methods for webpage_request, webpage_response, and
  screenshot logic
- Change visibility of perform_http_request method in WebpageRequest to
  protected
- Update Webpage spec examples