Initial Suggest Support

Add basic TermSuggester and PhraseSuggester.  Add support to
check for valid suggest objects, update Request to accept suggest
objects.  Setup tests.
Implement TermSuggester options

Add all supported options for TermSuggester.  Update all tests.
Add remaining PhraseSuggester options.

Add all remaining PhraseSuggester options including support
for setting DirectGenerators which are candidate term generators.