avoid some unnecessary messages and callbacks (#20)
do not merge() new updates unless they are NEW or RESERVED (#20)

a request may only enter the state machine as NEW or RESERVED
this fixes a fundamental error that was causing all sorts of problems
fix doc error in previous commit (#20)
use new Request status labels (#18, robotics-in-concert/rocon_msgs#60)

remains backwards compatible with earlier scheduler_msgs/Request
uses CANCEL states in place of RELEASED, RELEASING
avoids deprecated labels
minor cleanup after previous commit (#18)
improve state transition tests (#18)
add tests of invalid state transitions (#18)
clarify roles in state transition diagram (#18)
redefine RequestSet assignment to take a Request message

also includes minor doc changes
configuure Subscribers for lower latency (#20)
remove unnecessary topic name instance variables
remove another topic name instance variable
use FIFO queue for example scheduler resources
minor example scheduler clean-up
doc updates (#15, #18)

reorganize table of contents
add warning about Request message version changes
describe top-level namespace contents (closes #15)
rename RequestReply.free() to close() (#18)

make free() as a deprecated synonym for close()
still using CANCELED state label
rename terminal state from CANCELED to CLOSED (#18)
add compatibility attributes for Request.reason field (#18)
add optional reason arg to various event methods (#18)