Implement spectral Cahn-Hilliard.

Address #75

Implement spectral Cahn-Hilliard as a mix of explicit and implicit to
optmize the stability.
Remove class FastMKSRegressionModel

Address issue #75

Remove class FastMKSRegressionModel in order to remove the dependency
of both fipy and pyfftw.
Add trackback to pass AttributeError

Address issue #75

Add trackback to pass AttributeError during doctest.
Merge remote-tracking branch 'upstream/issue75-cahn-hilliard' into issue75-Cahn-Hilliard
Update tests with CahnHilliardSimulation

Address issue #75

Update tests with CahnHilliardSimulation. Add make_cahnHilliard to
datasets for an easy way to generate data for calibration. Move
cahnHilliard test from mksRegressionModel.py to test.py. Edit
CahnHilliardSimulation Class to handle both odd and even number
dimension concentration fields. Update documentation.
Merge branch 'master' into issue75-Cahn-Hilliard
Add draw_concentrations method to tools.py

Address issue #75

Add draw_concentrations method to tools.py
Add cahn_hilliard notebook

Address issue #75

Add cahn_hilliard notebook. The results from the MKS seem to diverge
from the results using the spectral method to solve the Cahn-Hilliard
equation.
Add seed to cahnHilliardSimulation doctests

address issue #75

Add seed for random number generator in doctests to make sure the
tests consistently pass.
Merge branch 'issue75-cahn-hilliard' into issue75-Cahn-Hilliard
Change default value in make_cahnHilliard

Address issue #75

Change default value for dx in make_cahnHilliard. Update
cahn_hillard notebook example.
Add draw_concentrations_compare

Address issue #75

Add draw_concentrations_compare and update cahn_hilliard
notebook. There seems to be some issues with scaling the coefficients
that need to be addressed.
Remove constant valued k0 code

Address issue #75

Remove lines of code that maintain a constant valued for k  equal to zero for
the constant-valued influence coefficients in frequency space. Regular zero
padding method improves the results of the resized influence coefficients.
Add text to cahn-hilliard notebook

Address issue #75

Add text to cahn-hilliard notebook
Change API to match sklearn and update files and notebooks

Update API syntax to be in line with syntax from sklearn. For example
Nsample is now n_samples, Nphase is now n_phases, etc. Update the
notebook examples with new samples and fix issue cased by internal links.
Add Cahn-Hilliard example and optimize_n_states

Fix issue #75

Add Cahn-Hilliard example notebook. As part of the notebook examples
add optimize_n_states to explore the number of local states that can
be used in a MKSRegressionModel with a continuous microstructure. Fix
typo in Elastic_2d example. Add cahn-hilliard example to docs.
Add legendre notebook

Add legendre notebook to show how to use Legendre polynomials as basis
functions for the microstructure.
Add Legendre Basis

Address issue #75

Add Legendre Basis. Modify fit and predict methods in MKSRegressionModel to
handle the Legendre basis. Modify optimize_n_states in tools to evaluate
Legendre basis. Add draw_diff to tools.
Change file name from bases to basis

Address issue #75

Change file name for bases to basis.
Update basis documentation

Address issue #75

Update documentation with information on basis. Set argument deg equal to
n_states. Update notebook example.