added a new class for each TraceHeader
using a dict to 'cache' the internal trace header objects. Will construct them on the fly to preserve memory
If the trace object is already cached, then return it. If not, construct the TraceHeader instance, and put it into the cache. Return the newly created instance.
removed old method, and added pydoc
adjusted the unittest for the new test scenario
refactored testcase, and added more asserts
added a GridDefinition class, mainly a placeholder for some definitions (enum -ish style)
collecting data about the dataset from the property xml file
initialize to None values
added property _num_volumes
add is_synthetic method to check if the dataset is real or synthetic
moved source header check into its own test method inside the same test-case
new testcase for testing CustomProperties part of the javaseis file format