Streamline and fix build process

I have streamlined and automated the build process.
Most of this is refactoring to enable the test suite to start redis processes automatically.

I got rid of one test that seems to be doomed to fail in redis 2.8.4: There is no good message for triggering failover-start.

The pub/sub test was also always failing because of a race condition. The new connection's pubs would get pushed before the subscriber got reconnected. Now the subscriber simply listens on the slave that never goes down and makes sure all of the pubs happen.