[GSoC] Refactor Bricks

Introduced ConcurrentFormulaHashMap to BrickBaseType
Removed clone and copyBrickForSprite from bricks where possible
Introduced custom xstream converter to support porting old projects' code.xml to new structure of code.xml
I have a problem in refactoring LoopBeginBrick. Both ForeverBrick and RepeatBrick are subclasses of LoopBeginBrick. But ForeverBrick doesn't need any Formula while RepeatBrick needs a Formula to store TIMES_TO_REPEAT. For now, LoopBeginBrick extends FormulaBrick which is wrong. How shall I solve this problem? If it's okay if I introduce another abstract class called LoopBeginFormulaBrick in which I have to copy and paste all the code in LoopBeginBrick. Then, LoopBeginBrick class can be extended by BrickBaseType and LoopBeginFormulaBrick can be extended by FormulaBrick.