Change Makefile and port setting

- Makefile use LUFA now
- Change MCU ports PF{0,1} to PD{0,1}
- Add build option for keymap to Makefile: make keymap=hasu
Add ld script for keymap section
Add version string
Add build option KEYMAP_SECTION for keymap editor
Merge branch 'keymap_section'
Fix action macros
Fix Tapping: release of a key pressed before tap

- immediately process release event of a key pressed before tapping
Fix bootloader jump use word address

- Call of function pointer is compiled into 'icall' instruction.
It should use word address but it has used byte address :( It seems
jump has worked luckily by chance until now. why it worked?
Fix version info command
Merge branch 'tapping_fix60'
Change m0110 pin configuration: swap D0 and D1
Remove procedures not neeed from init of M0110
Change keymap and enable bootmagic of M0110
Fix README of M0110
Fix to bootmagic key configurable
Merge branch 'm0110_next'
Fix USB initilaize on LUFA

- Add print messages of USB intialize procesure.
- call out sei() in earlier stage. LUFA API doc of USB_Init() says:
interrupts must be enabled within 500ms ... to ensure that the host does
not time out whilst enumerating the device
- remove matrix_init() from suspend_wakeup_init(). It is not needed in
  fact and if matrix_init() takes long time to initialize it prevents
host emnumerating the device.
Fix LUFA blocking during startup

- Blocking occurs if built without option INTERRUPT_CONTROL_ENDPOINT
Add M0120 scan code diagram
Add build option KEYMAP_SECTION_ENABLE to m0110