moved plane crash sound to plane object

This makes it usable in other scenarios besides DarkCastle
moved crashed airplane skin to Decoration.ocd

This allows other scenarios to use the skin besides DarkCastle
removed unused var effect in expansion goal
Krakatoa: new goal and intro sequence
C4ObjectList: Enhance the iterator class with additional functions and add reverse-order-iteration via reverse()
	In preparation of replacing manual linked list traversal of C4ObjectLists everywhere
C4ObjectList: Replace trivial cases of manual list traversal with iterator usage
C4Player: CursorLeft/Right: Instead of manual list traversal use iterator
C4EditCursor: Instead of manual list traversal use iterator
C4Object: Call Contents.GetLastObject() instead of accessing Last link directly
C4GameObjects: Use this instead of ::Objects
C4Game: Refactor CheckObjectEnumeration to not use manual list traversal
C4GameObjects: When shelving contents of InactiveObjects temporarily, make a copy instead of setting InactiveObjects.First
C4GameObjects: PostLoad sanity Contents check done with iterators instead of direct C4ObjectLink access
C4GameObjects: Sorting out objects with inactive state done with regular Remove/Add calls instead of manually doing linked list dance again
C4Object: ShiftContents done with iterators
C4ObjectList: Move First, Last to protected