interface: delegate the creation of the job name to the job task

Instead of hardcoding special cases in Interface#monitor_job, make
sure that all job tasks have a job_name method and use it.
interface: documentation
interface: update tests for Interface#jobs
interface: rationalize job state and job state tracking

Some possible states were left out, and some states were not
reported identically by #job_state and #monitor_job. Moreover,
we now announce the current job state when a job is added to
monitoring
state: fix #delete to not assume that all children are openstruct objects
test: clear State and Conf in SelfTest#teardown
test: convert to minitest and cleanup common test setup

Minitest is the de-facto testing library that we are targetting
(because of its inclusion as the ruby testing library in ruby).
However, the minitest gem is sometimes incompatible with Ruby's
test/unit shim. This leads to being unable to run the test suite.
Convert to the minitest API completely to avoid these problems.

Moreover, this cleans up the common test setup and the test files
to remove unnecessary include and require statements.
Revert "coord: return Roby::Task as child model if the task model does not respond to find_child"

This reverts commit dd3620b427359884f5c6618234b6522816a1ea6c.
core: fix coupling of all task-level state machines

They were all based on the Proxy object (instead of each their
own private subclass of Proxy) which meant that they were
basically using the same definition
test: fix one dependency relation test
core: fix #fullfilled_model to not include an object's singleton class

This is caused by #ancestors including the singleton class starting
in ruby 2.1
test: do not require autorun in common.rb

By definition, common.rb is being included in a lot of places,
some of which might not want to have autorun enabled.
test: minitest 5 fixes
test: forward the -v option to minitest
test: fix multiple inclusions of Roby::Test on ruby 2.1
test: use stackprof to profile on ruby 2.1
core: remove long-deprecated API to manage tasks in Plan
core: create a fastpath for plan task/event insertion

Plan#add is currently very costly, as it tries to discover
the whole subplan of the task/events that are getting added.
While we can't do away with it right now, this commit adds
simpler methods that don't do the discovery, but instead only
add the task to the plan.

At this stage, this is for the benefit of some tooling (e.g.
Syskit) which don't need the costly discovery step.
core: make Roby::Task#name accessible on a frozen object
core: use #transaction_proxy? to know if an object is a proxy