Add `highest_set_bit` function

Add the following function in `src/util.hpp`:

	template<typename N> N highest_set_bit(N n);

This function returns the 1-based bit index of the most significant set
bit in `n`.
Add `highest_set_bit` unit tests

Add unit tests for the `highest_set_bit` function that was added to
`src/util.hpp` by this commit’s parent commit.