refactored rule engine, added periodic boundary support in MoleculeModel, added surface
Merge remote-tracking branch 'origin/master'

Conflicts:
	mbuild/moleculemodel.py
changes to port ghost point positions