Processes that take too long to start should be considered down, not unmonitored.

This PR incorporates two major changes:
1: ```Bluepill::Process#with_timeout``` now takes a ```next_state``` argument, indicating the state to transition to when a timeout occurs. This enables saner process FSM behavior, such as a process that is taking too long to restart staying in the restart state, and a process that takes too long to start staying in the start state. Bluepill's default behavior was to unmonitor a process that took too long to transition, which is less than desirable when working with systems built around microrebooting components.
2: RR has been swapped for ```rspec-mocks```, tests have been updated, and there's more of a test suite for ```Bluepill::Process```. Unfortunately overall test coverage is still below 45%.