Add SchedulerAgent, which periodically runs other agents.

This is the core part of the solution to #444.  As the first step, I've implemented SchedulerAgent that supports cron-style schedule.  User can create SchedulerAgents as many as they want and bind target Agents to it.  A master scheduler job in HuginnScheduler periodically checks for SchedulerAgents to create/update/delete the corresponding jobs as necessary.

We can add some additional agents later if needs be:

* CalendarAgent: Runs target Agents if it is currently free or busy now in specified calendar(s).

* RunnerAgent: Runs target Agents when it receives an event.

How do you feel about this direction?
The word `target` is pretty generic, and seems like it could get confused with `receivers`.  Not sure what's better, though.  Maybe `control_target`?