Store robots in an dict, rather than array

Also removes the find{Robot,RobotConnection,RobotDevice} methods. Additionally,
stops passing the Master through to the Robot constructor, we can just
require('./cylon') if we need to access anything in there.
Update examples that previously used findRobot
Clean up API implementation using middleware
Use implicit object conversion with #toJSON

JSON.stringify, if told to convert an object with a #toJSON method, will instead
stringify the result of the #toJSON method.
Merge pull request #195 from hybridgroup/refactor/robots-collection

Refactor Robots collection