Adding support for RideWithGPS syncing

Hi Collin -- I've added support for RideWithGPS.  I've done my best to match your coding style, etc. so hopefully this "blends in" smoothly.  I've also done basic testing with it locally here including things like paging on the results, and the obvious sync to/from.

A couple notes:
- In a couple places I was getting 500 errors sporadically from rwgps, so I added the res.raise_for_status() call to make those turn into exceptions (otherwise the exception ends up being on the .json() call).  I'm not sure if you want to leave those or not -- I didn't see your code doing that, so maybe you want to manage those exceptions more carefully.
- Ride types aren't really supported by RWGPS (there is a recreation_types.json endpoing, but Cullen says it's a "red herring" and not implemented yet).  So I just set it to CYCLING, not sure if that was appropriate -- or if it should be "other".  I did leave a mapping of the subset of the types returned by RWGPS for reference in the class.