Refactor

Hey Gail, this includes the squashed commits and a few new commits for changes on the Mac side. 

The commit you care about is the last one "Switch to uuid ...". I changed the name of the field from id -> uuid (to make it clear these are globally unique) and the type from long -> String. The uuid's will be something like "6dc5ffc6-ab7d-4836-b5b7-0a900fe74131".