toolchain/mk: add rule for linkdep cache objects

The previous linkdep cache code worked only because of the mere
coincidence that toolchain/cache and examples/* both have a ../../
distance to the repository root.  Fix this by adding a rule for linkdep
cache object files.  This allows building out-of-tree projects.

Noticed-by: Roy Smeding
spiflash: Add utility to convert capacity to bytes
Merge pull request #92 from bgamari/master

spiflash: Add utility to convert capacity to bytes
rtc: Ensure next is initialized
rtc: Ensure time is valid before scheduling alarms
rtc: Set TAR before enabling interrupt
programmer: moved to separate repo
programmer: add submodule
toolchain: check for programmer submodule
toolchain: git submodule update needs --init.  silly.
mchck.mk: fix swd-flash

Reported-by: mkad
nrf: make sure we have the right int
Merge branch 'master' of github.com:mchck/mchck
rtc: Fix rtc_alarm_cancel

Previously the head wasn't considered.
spiflash: Use enum values instead of magic numbers
spi: Add queued flag to spi_ctx_bare

This allows us to ensure that the queue never forms a cycle, e.g. when
the same context is used for multiple transactions. These issues are
very difficult to debug and therefore the small cost of this measure
should be well worthwhile.
Merge pull request #96 from bgamari/master

Various fixes for RTC and SPI
Merge remote-tracking branch 'upstream/master' into i2c
Add changes from smeding i2c code.