Fix bug in subtraction routine that leads to -0 rather than 0.
Add test cases.
Fixes #8145.

svn path=/trunk/boost/multiprecision/; revision=83103