output assertion failure file and line number and some cleaned up
use type_of and result_of for constraint result_type typedefs
added LICENSE
missed a file