Adds proto serialization to Random class with prototest example

See numenta/nupic#1449

This PR includes the following:

- RandomProto.capnp - specification of CP format for Random and RandomImpl classes
- Changes to Random.cpp to implement read/write using Cap'n Proto
- ProtoUtils file that allows you to read and write Cap'n Proto objects to iostreams. I submitted this code to the Cap'n Proto project but it isn't in a release yet.
- Cap'n Proto cmake file with macros for generating code from capnp files
- Changes to cmake file to set up correct paths, generate Cap'n Proto files, and include generated files when compiling the NuPIC library
- Test case for validating correct serialization behavior of Random class
- prototest binary for profiling serialization