add support for sub-parsers

this change delegates `get_valid_next_words()` to a subparser where
appropriate. example usage:

    from selfcompletion import SelfCompletingArgumentParser
    parser = SelfCompletingArgumentParser()
    subparsers = parser.add_subparsers()
    subparser = subparsers.add_parser('foo',
            parser_class=SelfCompletingArgumentParser)
    subparser.add_argument('--something')

unit test included.
removed 'parser_class' kwarg

for some reason i though this was necessary, but as @dbarnett pointed
out, it's not.
Merge pull request #1 from aaronj1335/master

add support for subparsers