Cleaned up signal::set_timer behavior

- Renamed "timeout" to "timer" in the class interface to reflect its general
  purpose.
- Reenabled setting a signal's timer _before_ it's attached to a multiplexer.
- Clarified Doxygen commentary.