periph/pmm: fix detection of LPMx.5 support

PM5CTL is not a macro; PM5CTL0_ is only a macro under gcc.  Use LOCKLPM5 as
the clue.  Also update applpm to explicitly reflect whether support is
present.
close #40: add support for reading LED state

Also fixes an information leak / corruption issue in trxeb LED
implementation.
close #41: support setting timer counters

Also stops clearing any pending interrupt when counters are reset, which was
not part of the contract.
Makefile.common: split target-specific flags

Separate CPPFLAGS, CFLAGS, and LDFLAGS so that the relevant material is passed
only to the tools that require it.
Makefile.common: avoid building deps just to delete them
timer: generalize support for counter read approaches

The optimal method depends on the timer configuration and clock rates.  This
commit refactors and generalizes the previous approaches so that each
technique can be used independently.  An example is added to contrast the
performance of each method.

This also clarifies that "safe" means "will return with a value" and is
distinct from "valid" meaning "returned value is not garbage".

CPUX results with configBSP430_TIMER_VALID_COUNTER_READ=1:

3 hrt overhead subtracted from each result
3 hrt to sync read value 22369
9 hrt to async read value 23457
4 hrt to configure latched counter
8 hrt to read latched counter 25803
45 hrt to configure safe counter
21 hrt to read safe counter 28217
76 hrt to read uptime 226015

CPUX results with configBSP430_TIMER_VALID_COUNTER_READ=0:

3 hrt overhead subtracted from each result
3 hrt to sync read value 47095
9 hrt to async read value 48183
0 hrt to configure safe counter
3 hrt to read safe counter 50427
55 hrt to read uptime 51583