Fix build on MacOS X Yosemite.

The problem is that Yosemite defines htonll as a macro, and we
don't deal properly with the case that it's already been
defined.  Instead we only implement our definition of it if this
macro doesn't already exist, on the assumption that anything called
htonll() will actually do the expected thing.

Direct commit to the 3.0-STABLE branch; this issue does not exist
on the master codeline.

Fixes #213.