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.