BUG:change formatting of assert_array_almost_equal

assert_array_almost_equal now prints the number of digits that were
being compared in the test instead of always printing 8 (the default
for array_repr). This would lead to uninformattive error messages.

Fixes #2367
TST: Add tests for build_err_msg
ENH: Add check for ndarray/scalar in build_err_msg

This check is needed now that build_err_msg takes a precision argument,
which is only relevant if the things being compared are ndarrays.
TST: Add exception message formatting tests

assert_approx_equal & assert_almost_equal make internal use of
build_err_msg so a few tests have been added to check that the errors
are formatted correctly.
BUG: Fix non-compatible py3 property