Added run_exps.py option to --retry failed experiments.

If the retry flag is specified, failed experiments will be re-run after all
other experiments have run. They can be re-run at most 5 times.

This commit required a refactoring of run_exps.py to clean up the main
experiment running loop.
Minor bug fixes for tuple_table/col_map.
Cleaned up run_exps.py parameters.
Added --crontab option to run_exps.py

This will use crontab to automatically restart the machine and resume
the script when the machine crashes. An additional option, -k, is provided
to cancel this operation.
Modified sched.py field padding calculations to account for bitfields.
Merge branch 'master' into wip-color-mc

Conflicts:
	common.py
	gen/generator.py
	run/experiment.py
	run_exps.py
Added --collapse option to parse_exps.py for creating simpler graphs.

This creates csvs which have merged the lines which only differ by variables
whose values are numbers (e.g. 'wss', 'number of tasks', or 'duration',
but not 'scheduler').

For example, consider a csv which is tracking the change in working set sizes.
There are 3 different experiment configurations per WSS, one with 12 tasks,
one for 14, and another for 16. Without --collapse, a seperate csv
(and line to plot in plot_exps.py) will be created for each of the 12, 14, and
16 configurations. With --collapse, a single csv (and a single line plotted
by plot_exps.py) will be created which averages the values of 12, 14, and 16
tasks for each WSS.

This is very useful for noticing trends or presenting overhead bar charts
or other examples in papers.
Removed bug where creating a base_table broke the main table.