Here's the new loaded upgrade test

It's pretty awesome, but it's going to need some love here in pull request land.

This test builds a four node cluster, all at the previous version (or legacy if that's how you want to be) and seeds it with an expected set of data,

Then it spawns 10 workers against each node and runs for 5 minutes.

Then for each node, it stops the workers against that node, upgrades the node, starts the node again, respawns the workers for that node and then waits 5 minutes.

This means that the test will run somewhere in the 32-37 minute range.

Right now, the test errors on data loss only. There are several errors that are specifically caught in the loaded_upgrade_worker that are effectively swallowed because they are acceptable in a mixed cluster or with a node down.

I'd like @beerriot to take a look at the accepted errors for map reduce and @rzezeski to take a look at the ones for riak search to make sure they are correctly handled and documented. I'll go into this PR after it's been opened and call you bolth out at the specific line numbers.