SoC work for the midterm evaluation

This is what I've done so far. I merged in two branched at the very beginning, build and junit, which is work I did before GSoC so that shouldn't be included in the evaluation.

git log 49c03ff8f1ea487c5a5a42d8c17dd7ea7583dbd3..25d20940783af96abf8288c4ac3ea642f3513922

are all the commits that should be reviewed (for midterm) and ignores the commits from the merged branches.