allow layers to be index by material
support free variables in contrast variation fits
Merge branch 'bumps-split' of github.com:reflectometry/refl1d into bumps-split