Be const-correct.
More simplifications brought by C++14.
Polish small details.
Replace Boost.Test with custom unit test framework.

We no longer use Boost.Test for writing unit tests. This eradicates the last
link-time Boost dependency; now we're in head-only land.

The custom test framework operates very similarly to Boost.Test but uses
slightly simplified syntax.

Closes #33.