* added new vector library:
   * this will replace the old vector library (core/vector#.hpp) soon, all functions that have changed semantics
     or will be removed/renamed have been marked [[deprecated]] to allow for easier migration
   * this new vector library supports vectors with a width of 1, 2, 3 and 4
   * the new vector library is much more consistent in that (a) all functions are supported for all vector widths,
     unless they don't make sense for that width (e.g. perpendicular or cross), and (b) naming is more consistent
	 (e.g. <verb> applies a function directly to the object and <verb>ed returns a copy of the vector on which
	 the function has been applied, e.g. normalize and normalized)
   * this adds a lot of new functionality, too much to list here and more is to come in future commits (note that
     all old functionality is of course covered as well)
   * almost all functionality is usable with constexpr at compile-time (the exception are obviously non-compile-time
     things like I/O, string, stream and RNG code)
   * supported types are: all float types (float, double, long double), all unsigned types from 8-bit to 64-bit
     and all signed types from 8-bit to 64-bit
 * added const_math namespace that adds support for many constexpr/compile-time math and related functions
   * this is necessary, because all <cmath> functions are _not_ constexpr, thus unusable during compile-time
   * supported math functions: sqrt, inv_sqrt, sin, cos, tan, asin, acos, atan, atan2, exp, log, pow
   * rounding: round, floor, ceil, trunc, rint
   * misc: abs, fmod, factorial, clamp, wrap, interpolate
   * note that the floating point functions support floats, doubles and long doubles
   * added const_math_select namespace which allows to select between the const_math constexpr and non-constexpr cmath
     function depending on whether a call is truly constexpr or a runtime call (this requires evil compiler hacks)
 * all constexpr specific code will live in the constexpr folder (currently contains const_math.hpp and const_string.hpp)
 * all math specific code will be moved to the new math folder (currently contains the new vector library)
 * switched to compile in gnu++1y mode (this is necessary now due to the use of clang/gnu extensions)
 * new math constants and additional float comparison macros in basic_math.hpp (+updated all code)
 * minor fixes/cleanup in const_string.hpp (note that something like this might be standardized in the future -> N4121)
 * fixed bbox default initialization (should have been -__FLT_MAX__)
 * core random functions now work with any integral and floating point type
 * added core::get_hw_thread_count (this works on osx/ios, linux, freebsd, openbsd and windows)
 * fixed core::strip_path
 * core gcd and lcm are now constexpr functions
 * undef "bool" macro if it is defined (insanity; this prevents infinite recursion)
 * limit audio/openal max aux sends to 2
 * added file_io::buffer_to_file from a c string + size
 * logger: only allow single init + register logger::destroy in atexit; use cerr instead of cout for error msgs
 * new timer class based on std chrono functionality and capable of using arbitrary duration types
 * added config option to disable openal audio at runtime (config.audio.disabled)
 * thread_base: moved members around due to padding and alignment issues
 * updated install script (new include folders)
 * upped compiler requirements to clang 3.5+ (and gcc to 5.0+, but won't actually be supported for now)
 * version bump to v0.1.2-d1