Retrospective cron batch jobs to update s3 attachment meta with bucket region

Resolves #95 
Resolves #123 

This needs to be tested with a branch of AWS core that has https://github.com/deliciousbrains/wp-amazon-web-services/pull/28 and https://github.com/deliciousbrains/wp-amazon-web-services/pull/30 merged

This PR introduces a plugin upgrade mechanism where we can do migrations/data updates for new versions. The first being for #95. 

I have set up some general handling of cron events so we can re use in the future - possibly for #44
Why do we need this check in addition to the check below for the `post_meta_version`? Seems redundant to me.