package: updated URL in development PKGBUILDs.
MSVC 2013 compatibility: added missing headers.

Not sure how this is done in GCC and Clang, they don't need ~60k LOC
<algorithm> just for std::max().
MSVC 2013 compatibility: no unrestricted unions.
MSVC 2013 compatibility: constexpr-related issues.
MSVC 2013 compatibility: no Unicode char/string literals.
MSVC 2013 compatibility: no user-defined literals.
MSVC 2013 compatibility: no rvalue references for *this.
MSVC 2013 compatibility: apparently can't have multiply defined aliases.

Also very annoying bug.
MSVC 2013 compatibility: worked around some initializer list bug.
MSVC 2013 compatibility: work around array-initialization bug.

As described in http://stackoverflow.com/questions/19877757/workaround-for-error-c2536-cannot-specify-explicit-initializer-for-arrays-in-vi
and http://connect.microsoft.com/VisualStudio/feedback/details/792161/constructor-initializer-list-does-not-support-braced-init-list-form .
Math: use proper suffixes for floating-point literals.

Catched by MSVC (ha!).
Updated std::optional from Optional repository.
Merge branch 'master' into compatibility
external: updated std::optional with MSVC 2013 compatibility.