Add initial protocol buffer support

Add initial .proto files
Change build.gradle to handle proto files
Add message factory