Lots of cleanups.
Put the boost stuff in its own lib.