datastore: Protobuf switch

I started to work on protobuf switch for datastore.

This will be the first part of changes related to protobuf. We also need some internal cleanup and remove unit tests that are covered by regressions.

Just because Protobuf.js doesn't have getters/setters, our code base if full of underscored var names. I tweaked jshint global settings not to annotate each file.