Added Door Objects/Events and Logical Operations

Can now record doors
Added !HAS and !IN condition operators
Logical conditions added: &&, ||, and ^
Can now use parenthesis for logical operations
DoorObject added
DoorObjects can tell you if it is open or not
Events can be triggered on door.open and door.close