Add spherical microstructure generator

Fix #111

Add a SphericalMicrostructureGenerator class that creates
non-overlapping, periodic spherical particles of one phase within a
matrix of another phase.

Created a common base class for microstructure generators.
Merge pull request #112 from wd15/issue111

Issue111