Introducing smarter resources

Moving the logic that determines what do to with a resource to a Resource class. This cleans up the
the Middleman::S3Sync.sync method and serves as a step toward other features being requested.