Made a few core functions usable with long double even when there is no std lib long double support.
Fixes #8940.

git-svn-id: http://svn.boost.org/svn/boost/trunk@85188 b8fc166d-592f-0410-95f2-cb63ce0dd405
Added missing includes. Fixes #8957.

git-svn-id: http://svn.boost.org/svn/boost/trunk@85189 b8fc166d-592f-0410-95f2-cb63ce0dd405
Apply patch from #8944.
Fixes #8944.

git-svn-id: http://svn.boost.org/svn/boost/trunk@85190 b8fc166d-592f-0410-95f2-cb63ce0dd405