ProvisionPhoto Refactor

There are no functional changes here.  The purpose of this PR is to allow the subclassing ProvisionPhoto and piece-meal replacement of methods like `sync_photo` and `handle_match` when run in the context of Socialcast proper.

JIRA: https://jira-projects.socialcast.com/browse/APA-16
Thanks for implementing the Strategy pattern here - looks great!

food for thought: in an ideal world I think I would try to avoid calling `.new` here because it makes the `initialize` part of the API for the Strategy.  Maybe instead pass the parameters like `http_config` to the `process` method.  Just something to consider.