Add _USE_MATH_DEFINES

Fixes another build blocking bug with my system.
Added EndTetheredPolymer, PolymerMushroom

Contributions of more self-consistent field theory-based volume fraction
profiles for cases outside the swollen brush regime.

EndTetheredPolymer is experimental! For full speed, it needs to use the
method inside the included C extension, which should itself be included
inside reflmodule.pyd. But I don't know how to do that properly.
bugfix

one unicode character in my docstring...
harmless oversights

clean up dead function, copy pseudo-boundary condition
remove harmful "shrinking" flag, other cleanups

The lattice once had infinite grow/shrink cycles, but to break that we
only need to quit after a growth which followed a shrink... not vice
versa. As is, it would just spin forever if it needed to grow but had
shrunk.
Massive interpolation speedup, fixed phi0 feedback

Pchip is darn slow, was taking 75% of the time inside SCFprofile. The
previous method of converting phi0 into lattice space was deeply flawed.
This way may not be perfect but it is at least sometimes accepted by the
check inside SCFsolve.
Add c extension for inner loop

It crashed when I added the code into reflmodule directly, but this
works and doesn't seem too invasive. The only downside is there are two
pyd files...
bugfix

names should be defined before you reference them, usually.
bugfix

names should be defined before you reference them, usually.
whitespace and style cleanup

no functional changes
Add new classes to names.py
Docstring updates, sld method

This sld method for EndTetheredPolymer allows the class instance to be
used as a "material" in the "above" slot of freelayer. This is
convenient since roughness is not.
remove sld method

was buggy, developing on private branch
Merge pull request #55 from richardsheridan/polymertweaks

Polymer additions: EndTetheredPolymer, PolymerMushroom, calc_g_zs_cex