Remove obsolete MSVC check from pragma guard

 git grep -h -B1 "^#\s*pragma once" | grep -v pragma | sort | uniq

is now clean.

[SVN r85952]
Change log.

[SVN r86173]
This special case doesn't seem to apply to the latest Visual C++.

[SVN r86365]
Attempt to work around Visual C++ initializer list overload bug.

I'm hoping that these templated initializer lists will be considered a better
overload than the others. I have no idea if it will actually work, this is a
real shot in the dark.

The enable_if checks should probably be for implicit conversion, there might
be a chance this could override a valid call when there's an explicit
conversion.

[SVN r86419]
Fix potential msvc 12 workaround.

[SVN r86433]
Revert attempted work around for Visual C++.

[SVN r86478]
Try to work around Visual C++'s variadic overload bug.

Possibly too late for the release.

[SVN r86482]
Extend the Visual C++ workaround to 3 parameters.

To avoid collision with piecewise construction.

[SVN r86506]
Link to archived copy of Thomas Wang's integer hash function.

His site's no longer on the web, so use web.archive.org instead.

[SVN r86607]
Update the unordered rationale.

I just noticed that it wan't updated for the changes on 64 bit platforms.
Not very good, but I don't want to spend too long on this.  I'm tempted to just
delete it.

[SVN r86608]
Use `BOOST_HAS_PRAGMA_ONCE`.

Remembering to first include config, so that it'll actually be defined.

[SVN r86726]