use timer rather than rate for immediate wakeup

This is an alternative to #234.

I don't usually use a planner_frequency > 0, so I haven't been able to test this, but in theory it allows you to *immediately* wake the planner when a new plan comes in, without adding additional parameters or even waiting for any amount of time.

@KaijenHsiao would you have time to possibly test this?
sleep_time is negative--the line should read 
ros::Duration sleep_time = (start_time + ros::Duration(1.0/planner_frequency_)) - ros::Time::now();