Add vote library, fix build

The vote library is now created, and it builds, but it's woefully
incomplete and much of the content of types.hpp needs to be vetted for
sanity.