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?
Got it.  Now, how about the table name?  I named it `chains` without much consideration, but there should be a better name.  `paths`, `controller_targets`, `contol_links`, etc.