first implementation - refactored

cleaned up input parameter scrubbing.
started adding factory to build different index generators - (hash,
rbtree, map-reduce).
apparently regex isn't fully implemented in c++0x, so prepping code to
use boost.