rename OptionParser to GetoptParser
major reorg: add GetoptFactory, move all value parsing into separate parser, option is now stdclass not array
major reorg to split getopt tasks, clean code refactoring, etc