Improve regularity of STObject and STArray [RIPD-448 and -544]

- reduce duplicated code using template implementations
- replace BOOST_FOREACH with C++11 for loops
- remove most direct calls to new
- limit line length to 80 characters
- clearly identify virtual and overridden methods
- split STObject and STArray into their own files
- name files after the class they contain

I'm not sure what went wonky with the visual studio project stuff.  I all did with that was run the scons build...

@nbougalis @vinniefalco 
````
return std::move(object);
````