Added fastInvSqrt (using the quake method) and fastSqrt.

Added an exception type, DomainException.

Moved BS_DEFINE_BASIC_EXCEPTION and BS_DEFINE_MESSAGE_EXCEPTION from
Exception.hpp to Exception.cpp

Added #undefs at the end of Exception.hpp and Exception.cpp to clean up
macros defined in that file, since they're not used elsewhere.

Added asserts to util/Macros.hpp to check for divide by zeros and
out-of-domain errors.

Comments added to #else and #endif guards in util/Macros.hpp