move key maps into separate file

rearrange logic to accommodate missing or user altered key maps
make easy readable spot for user to alter code if they need unanticipated key map
first functioning implementation which asses user prefernces and defaults in a semi coherent manner