Various tests and documentation

- All error logs are now synced at application close.
- ManMemPointer has been thoroughly tested and determined to work as a
smart pointer should.
- Log::Write has been overloaded for some convenience.
- NEAssert has been documented better.
- The DEFINE_THIS_FILE requirement removed from NEAssert. (Commented
out; to be deleted later.)
- Tested and verified garbage collection.
- Added error logging for various bug conditions.