Working on the weapon object.

For some odd reason this crashes and burns when trying to read an mstring.
Modified makefile and main program to use ME3Format instead of ME2Format
Merge branch 'master' into ME3-testing

I now need to make ME3Format use regular strings instead of mstrings.
ME3Format no longer uses mstrings.
I've written vector helper functions for binary read, and object cout.

Next step, is to apply them to MEShared, and see if they work.
MEShared now uses vectors instead of collections.

MEShared only contained vectors of ints and floats.
I still haven't had a chance to test the object based vector functions.
Merge branch 'ME3-testing' into using_normal_vectors
MEShared now supports cout(version)

This is merely a compatability update.
New vector based code will use this as the default.
Merge branch 'master' into using_normal_vectors
MEShared objects now use the 'this' pointer when calling their own functions.

I was trying to get rid of an error message and tried this.
It didn't help, but it didn't hurt either, so I'm committing it.
Merge branch 'master' into ME3-testing
Merge branch 'using_normal_vectors' into ME3-testing
ME3Format now uses Vectors instead of Collections.
Fixed the Vector Template function.

Because I was forced to use vectors of pointers to objects, I now need to make sure that my objects have working destructors.
Specifically, all objects that have vectors need to properly destroy everything in them.

I'll write a template function to make this really easy.
Merge branch 'using_normal_vectors' into ME3-testing
Merge branch 'using_normal_vectors'
Added a function to delete all objects in a vector of pointers.
Merge branch 'using_normal_vectors' into ME3-testing
Added destructors for functions that needed them.
Merge branch 'ME3-testing'