Makefile: Allow multiple modules with LTO

Link Time Optimization (LTO) reduces the size of the resulting binary
and is therefore beneficial for small microcontroller platforms.

However, due to a bug in avr-gcc 4.8.1, we have to disable -Werror as
there will always be a warning at link time if any ISR() is used:

In function '__vector_5':
ledtest.c:42:1: warning: '_vector_5' appears to be a misspelled signal handler [enabled by default]
 ISR(TIM0_COMPA_vect) {
 ^

Just ignore this warning. For details see the upstream bug report in the
GCC bug tracker: http://gcc.gnu.org/bugzilla/show_bug.cgi?id=59396
shift: Add module for handling a shift register
ledtest: Use shift module
ledtest: Comment out alternative compare value
ledtest: Move bit hacks into own header file
shift: Add missing implementation of shift_set()