final changes - Version2 working

This PR mostly is just refactoring -- the actual API is looking pretty close to finished. I'd recommend looking at the whole version2-working branch codebase on the whole for anything important. Tests and FCUrlClient.java are hotspots to double check on. After this the code will sit on version2 until we have blog posts/ready to deploy.