create _config_to_id function

use in _generate_dirname
add ExperimentRunner.py

ExperimentRunner and StorageAccessor classes will manage experiments
ExperimentRunner delegates read/write operations to StorageAccessor
ExperimentRunner manages central result frame and tracks where in storage a result lives
refactor ExperimentRunner.__init__
add _append function: adds data to frame, id_to_dir
append to frame after running experiments
add kludgy _get_result

fetches a result based on id
demonstrate recent functionality additions in __main__
track id_to_config mapping

to simplify getting results
add ExperimentRunner.get_results

takes a frame, returns dict to look up full results based on id
BUGFIX: fix NameError due to storage_accessor
BUGFIX: fix case where no directories are passed to ExperimentRunner constructor
refctor __main__
StorageAccesor.read_summary_frame: add and use _gen_configs_ids_dirs_list

to push munging into helper function
read_summary_frame: accept single dir or dir list
read_summary_frame: refactor to use map
use read_summary_frame's ability to take a single dir
track which directories the ExperimentRunner knows about
make "append" a separate function
replace director{y,ies} with dirname{,s}
use append in initialization