[GSOCTC-1] Refactor Bricks

Hi,

For GSoC 2014, I have been selected to implement the Time Capsule feature for Catroid. Before starting that task, I have been asked to refactor the code of Bricks so that it'll be easier to implement time capsule feature. The main changes I have made are as follows.

1. As the no of formulas for a particular brick is unpredictable. Therefore, I have introduced ConcurrentFormulaHashMap to store all the formulas in a Formula Brick

2. I have converted the FormulaBrick interface to an abstract class so that ConcurrentHashMap is stored in the FormulaBrick.

3. Removed lots of repeated code in bricks where possible (e.g. clone, copyBrickForSprite, getFormula methods)

4. Introduced custom xstream converter to support porting code.xml of old projects to new structure of code.xml

I would be much thankful if you could review my code and provide feedback to improve the code quality
Was all this really necessary? Isn't it possible to adapt Brick(BaseType) and FormulaHashMap somehow to do this automatically?