Multiple floors!

main.rb
- Created an easier system for Items and their subclasses to have properties assigned.
- Added Trap, a subclass of Item. Currently the only 'traps' that exist are Stairs.
- Created the FloorManager class to allow multiple Floors

item_data.rb
- Added EntityData and TrapData
- Added DEFAULT Item-, Entity-, and Trap-Data. If you don't specify values for Datas it will default to DEFAULT's setting, for the appropriate class.

Fixed a bug in vision.rb where forget_all would not, in fact, forget all.
Added an EMPTY configuration for Caves. Only boundary walls exist.