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
@phene you seem to have removed the batching of photos. If a single connection has > 500 photos this will no longer work.