Generates a default parser for the inputted scope.
    
    :param      scope    | <dict> || <module>
                usage    | <str>
                callable | <str>
    
    :return     <OptionParser>

def parser(scope, usage=''):
    """
    Generates a default parser for the inputted scope.
    
    :param      scope    | <dict> || <module>
                usage    | <str>
                callable | <str>
    
    :return     <OptionParser>
    """
    subcmds = []
    for cmd in commands(scope):
        subcmds.append(cmd.usage())

    if subcmds:
        subcmds.sort()
        usage += '\n\nSub-Commands:\n  '
        usage += '\n  '.join(subcmds)

    parse = PARSER_CLASS(usage=usage)
    parse.prog = PROGRAM_NAME
    return parse