spi: Add spi_is_idle

This allows us to safely determine when it's safe to sleep the core
spiflash: Remove spiflash_is_idle

This wasn't safe
examples/ftm-input: use ftm to read period between rising and falling edge
examples/ftm-input: comply with a coding style guide
usb: Enable RESUME support

This allows capable firmware to enter sleep modes which de-clock the USB
module.
Add pin change interrupt infrastructure

Each PORT peripheral has a single interrupt which can be used to detect
changes on any of that peripheral's pins. Because of this, it is
necessary to multiplex pin change interrupt handling. This patch adds
the infrastructure for this.
nrf: Port to pin change infrastructure
Split up linker script
Merge pull request #99 from bgamari/pin-change

Common pin change interrupt handling
Move target sections to directly after .text
Merge branch 'master' of https://github.com/mchck/mchck
Merge pull request #102 from bgamari/pin-change

Move target sections to directly after .text



This fixes overlapping section errors during linking.
Merge branch 'master' of https://github.com/mchck/mchck
lib/pin: allow macros as arguments to PIN_DEFINE_CALLBACK

Noticed-by: @smeding
toolchain/ld: do not pack .pin_hooks.* sections
Merge branch 'master' of https://github.com/mchck/mchck
lib/pin_change: do not implicitly initialize, move to separate file

For sake of transparency, have the user call pin_change_init()
explicitly, but then have pin_change_init() also enable interrupts for
the respective ports.

Discussed-with: @bgamari
lib/spi: use NULL for pointer
lib/pit: style changes
lib/gpio: add GPIO_DISABLE pin "direction"