Now checks for ceiling before jumping

Also working on horizontal control locking a bit.
Added horizontal control lock

If the player fails to climb a steep slope or falls from the ceiling it
can't move for a certain time once it lands back on the ground. This
removes a ton of twitchy behavior.
Added Angle and Opposite helpers
oops

apparently c# is case-sensitive
Refactored to use new WallMode helpers
Player locks control once it can't overcome a slope

Also refactored to use WallMode helpers