Issue #6: Add nameparser to requirements

Nameparser is a python library for parsing names of varying complexity.
We will use this to handle the name parsing for Members.
Issue #6: Convert to using nameparser

Converted save-time logic to use the nameparser module rather than the
simple splitting originally implemented. Also added fields allowing us
to be much more verbose about a person's name.

Implemented tests to ensure this functionality works for complex names.
Merge pull request #12 from laureltech/complexNames

Adding complex names support