updated customer model with more virtual functions, added more tests to match
completed redesign of customer model
Merge branch 'customer_model_redesign' into develop
merged in completed customer model redesign