Added diff of an InfoStore with a supplied Filter. This determines the
approximate difference in number of keys known by the builder of the
Filter but unknown to the InfoStore. It's an heuristic for how good of
a gossip peer the builder of the Filter would be. A greater diff is
better.

Introduced a visitor pattern "visitInfos" for InfoStore to remove
boilerplate iteration code that had cropped up in 4 or 5 places.

Added unittests for diffing.
Golint fixes.
Add field names to composite literals
Rename initrepo.sh. Update README.md with hacking instructions
Protobuf support - Makefile and README
Pull in the api from the design doc

- Mostly mechanical conversion to make protoc happy.
Move files into /proto
microsecs -> nono
Merge pull request #7 from strangemonad/shawn/protobuf

Shawn/protobuf
Merge pull request #5 from andybons/andybons-composites

Add field names to composite literals
Merge pull request #6 from andybons/andybons-bootstrap

Rename initrepo.sh. Update README.md with hacking instructions.
add myself to AUTHORS
original
Merge pull request #8 from spencerkimball/andybons-authors

add myself to AUTHORS
Merge pull request #4 from spencerkimball/spencerkimball/diff-filter

Added diff of an InfoStore with a supplied Filter
Visibility fixes for group, info, infostore.
Fixes for lower-cased test functions.
Merge pull request #10 from spencerkimball/spencerkimball/exported-fixes

Visibility fixes for group, info, infostore.
hasher visibility fixes
Merge remote-tracking branch 'origin/master' into andybons-hasher