Fix some bugs/crashes in 1.7 port

This pull request fixes some crashes that occurred when I was testing ProjectRed in mc 1.7
A summary of fixes is as follows:
* Compatibility Module
  * CompatibilityCorePlugin fully implements IFMLLoadingPlugin
  * Compatibility plugins now use 1.7 API's  (Except Thermal Expansion which is not yet updated)
    But are commented out until there is a stable 1.7.2 release for those mods
* GUI Fixes
  * openSMPContainer class cast exception
  * The algorithm GUILib.createGrid was wrong
  * Widget windows were not centered
  * Esc key did nothing
  * Backpacks did not load items
  * all MultiTileBlocks were listed as a single block in creative tab
* Rendering  
  Note: I have not fixed many rendering bugs as I know you're working on that  
  * Null point exception when rendering machines
  * array out of bounds when rendering caged light inventory items
  * Null point exception when rendering logic gates
* Infinite while loop when generating caves
* power wires had a null item (they loaded before transmission proxy had init)
* Could not remove items from backpack when backpack slot number == hotbar slot number

Also, I have merged branch master into 1.7-port. (Better do it earlier than get merge conflicts later)

Edit: My next pull request hopefully will fix the build script, for travis-ci and packaging into separate .jars. Unless you've already got something.
Note: If you have commits on you local repo not pushed to github, there may be complications, may need to push any commits before merging this PR.