Changes llvm model data struct to be dynamically defined for each model and allocated as a single memory block.

Added storage areas for initial conditions

Updated interface with better named methods.