began breakout of utf8_char_t and related functionality
added test project
added unit testing, need to make names of tests and suites to be strings
fixing up utf8_char, and trying to decide what to do about unit testing
updates to string
Merge remote-tracking branch 'remotes/origin/feature/utf' into develop

Conflicts:
	include/atma/utf/algorithm.hpp
	include/atma/utf/utf8_string.hpp
	include/atma/utf/utf8_string_header.hpp
	project/atma.vcxproj.filters
began rework of strings to manage their own memory
correct iterator construction & memory deallocs

 - utf8_char_advance now works for 1-byte sequences
 - added destructor to utf8_string_t
 - utf8_string_t constructors all add null-terminator
 - utf8_string_t::iterator now constructs correctly
way better memory-management for utf8_string_t

 - imem_quantize_capacity now uses a better algorithm
 - operator = () now actually present... oops!
 - constructors now defer to a single constructor
better smarter vector4f, now with xyzw components

 - generates optimal code
 - takes no extra space (16 bytes)
 - Release|Debug now with similar flags
better code for components

 - we can simply use a union, rather than the magic hackery
   previously used. this seems to work flawlessly in MSVC, but
   *does* use an anonymous struct in a union... so there's that.
push_back for utf8_char_t enabled again
updates to maths