Root data structure overhaul

Made significant changes to the stucture of the root tree output. Included
vectors to make it possible to store entries with multiplicity greater
than one. This is possible due to inclusion of root dictionary generation.

To account for this change, most of the processors needed updated to allow
for filling data structures more than once per call to Process(). Multiplicity
should now reflect the size of the vectors within the entry. This also
prevents throwing away data when events have large multiplicity.

Changed all variable names in Structure.h to prevent them from masking one
another when SetMakeClass is set to 1.

Also changed the Makefile to better handle dictionary generation. Use the
target 'shared' to generate only the dictionary. The target 'clean' now
only removes normal object files. The target 'tidy' was introduced to
remove files related to dictionary generation. Still need to add ./dict to
LD_LIBRARY_PATH. I need to figure out how to fix that.