add model class
update example to use new model class
thermal exp, c_v, c_p, Model improvements

remove all references to main while we are at it
add error checking
fix c_p, c_v computation
add tests for model, some cleanup
fix model.density, .K, .G
add tests
remove duplicate storage of Model.avgmoduli
small homepage updates
improve mineral database documentation

By not displaying all the inherited member functions, the mineral
database help page becomes useful. This commit contains some cleanup in
the .py files. Most notably removing redundant comments mentioning the
source for the minerals.
rework debug_print

Material.debug_print was based on a current p, T given by the last
set_state() and would return an unrolled list of minerals. This makes it
inconvenient to use and will provide the wrong information. Now it will
return a hierarchical representation independent of p,T. The old
function is now available as print_minerals_of_current_state().
update tests
fix composite sum of fractions

Several things in the check if the fractions as positive and sum to 1.0
were broken:

- the normalization was never applied
- if the sum was smaller than one, no warning was produced
- 1.0-0.8-0.2 produces a negative number, but should be legal
add tests for Composite sum(fractions)!=1.0
Add initial versions of tutorials
Work on tutorials
Edits
Add a bunch of text for step_1
Add lots of text, modifications for step_2