Promoted references to a top level record internally.

Note: This does not change the structure of the ESX format.
added blank function to CellRef and moved a function that was in the wrong file
simplifying CSMWorld::CellRef
moved IdCollection base into its own source file pair and renamed it to Collection
added a bit more documentation
rewrote IdCollection::load (not using private members of IdCollection anymore)
split IdCollection into Collection and IdCollection class
gave Collection class its own header file and removed an unsed cpp file
Revert "simplifying CSMWorld::CellRef"

With the refactored collection class we can now handle the more complex load function

This reverts commit 97f421df8a5a3f6e4803001af8014355128d8523.
added references table
store ID of cell in reference struct
added missing reference table columns
Merge branch 'master' into ref
post merge fixes
Simplified doors, now they will stop after hitting an obstacle instead of trying to back off.