Integrate build and experiment commands.

This change makes the ``build`` command run as the current ``experiment`` command, and makes other related commands (``list``, ``clean`` etc) run under ExperimentContext.
It adds following changes on the behavior of maf:

- Now user can implement experiments in ``build()`` function
- User can run such experiment just by ``./waf``
- Old ``experiment`` command and function are still supported
- Results are put under ``build/`` directory instead of ``build/experiment``
- Related commands such as ``list`` and ``clean`` are now correctly running for maf
Add workaround for non-experimental tasks