Change comms to use template bridge design pattern.
Add doxygen comments to comms files.
Make template classes consistent.
Replace boost::tribool to fix multiple request issue.