reorganized the keyboard layouts; made a template
changed the semantics of eeprom__copy()

the direction in which the data is copied is now well defined.  this
allows us to copy a large block a small distance (where the block's new
address range overlaps with its old one), in either direction (to a
higher block of addresses or a lower one), in a well defined and
documented manner.
changed recording interface for eeprom-macros's
(fixed small error; oops)
Merge branch 'partial-rewrite' of https://github.com/benblazak/ergodox-firmware into repa

Conflicts:
	firmware/keyboard/ergodox/options.mk