list: Added list_peek() and list_empty()

Signed-off-by: Daniel Thompson <daniel@redfelineninja.org.uk>
fibre: Cleanup get_next_wakeup() uisng new list API

Signed-off-by: Daniel Thompson <daniel@redfelineninja.org.uk>
console: Register commands with a structure

Register commands by structure rather than by name and function pointer
directly allows commands to be parameterized (perhaps for different gpio
pins) using containerof.

Signed-off-by: Daniel Thompson <daniel@redfelineninja.org.uk>
console: CDC-ACM console handler for libopencm3

Signed-off-by: Daniel Thompson <daniel@redfelineninja.org.uk>