Added a numeric_limits implementation.

This replaces the Standard C++ Library implementation so that we
aren't bringing in a load of header dependencies in some Standard
C++ Library implementations like with MSVC. Updated the vector
math library to use the new <up/limits.hpp> header file.
Cleaned up Standard C wrapper headers.

Made all Standard C wrapper headers include the Standard C Library
version of the header file, instead of the Standard C++ version.
That way we aren't bringing in all of the C++ std namespace
identifiers when we don't need to--Upcaste is meant to act as a
freestanding library.

The cstdatomic.hpp header was also renamed to atomic.hpp to denote
the fact that it implements the C++ interfaces.