first fitting pulse test to produce an error

If a fitting has no active workers when eoi arrives, it may evaluate
the worker behavior in-process. This might cause the fitting to
exit non-normal for any number of reasons, but PULSE found specifically
that the sink exiting while a synchronous message is being sent to it
(fsm-type sink, on the sync period), the gen_fsm call will exit
abnormally, but not necessarily in any of the ways already caught.
The specific exit seen here was {normal, {gen...}}.
add 'raw' sink time to fitting pulse test

Checking to see whether this can reproduce issue 48 or 49. It didn't,
but the coverage may be useful anyway.
catch sink fsm exits for all reasons

The reduce_fitting_pulse test showed that other exit reasons might
be seen here. For example, 'normal' can happen if the sink shuts
down after the sync event has been delivered.

This commit broadens the catch to prevent those other reasons from
killing the current process, and also narrows it to make sure exit
is bubbling from the sync_send_event, and nowhere else.
doc & clean reduce_fitting_pulse

Cleanups:
 - compile non-pulse parts even when PULSE is not defined,
   to allow sanity checking with PULSE disabled
 - use eqc:testing_time instead of eqc:numtests to better
   match the eunit timeout expectation
Merge pull request #73 from branch 'bwf-fitting-pulse'