Random riders

Opening this request to begin the talk about the random rider mechanism.

This pull request will update and merge changes that will provide random riding around of riders

I believe that this still needs to be worked on further:
* Should keep track of current leg of the journey
* only read in one file at a time to preserve memory for the DB
* Corner case checking to ensure that a rider tries another station if there is no room to check the bike back in.

I am open for more comments


We actually have ways to handle the exceptions pretty nicely, so I think they produce more descriptive error messages for us.  If there's no objections, I prefer just handling exceptions.