Added steering centre members to VehicleData.

steeringReturn is the main control for the amount of return in
the steering. Setting it to 0 (the default) disables steering return
completely.

steeringReturnSpeedScale is a multiplier on the amount of effect that
the vehicle's velocity has on its steering return.

powerSteering can be set to eliminate the effect of steering return on
user input. Without this flag set, the user will have a harder time
steering, because the wheels try to return as they steer. If this flag
is set, steering return will not be applied while the user is actually
steering, only when they release.
Added steering return to Vehicle.

It happens in Vehicle::updateMove so it can apply to all vehicle
subclasses. It is applied to both x and y steering.
Fixed stream read/write mismatch bug.

It was causing Vehicles to roll forwards with a constant velocity when
stationary, and ignore move->y.
Consider zoom when culling billboards.

screenScale represents the current zoom factor, but may need some
revision because I'm not sure if what it's doing is technically correct.
It is used to multiply the culling distance for cells, as well as the
fading distance.
Added comment.
Updated logic in MissionArea::getServerObject.

Before this function would iterate through every server-side object to
find a MissionArea. Now, it stores the server object in a static member
smServerObject. This member is updated in onAdd and onRemove, and returned
by getServerObject.
Removal of SDL dependency for linux dedicated server
Bug fix for loading compiled dsos
Removed MGT comments from Pull Request
Elastic ease fix

Elastic ease used an arcsinus function where it should have used a sinus
function.
Fix for issue #210 for ParticleData sends out-of-range data via BitStream

1. When addProtectedField used with custom setters, we need to return false, or it will set the value via regular routine after the method exists (change ParticleData::protectedSetTimes() to return false instead of true).

2. The ParticleData::sizes[] needs a custom setter, so the value is clamped in a range of 0.f and MaxParticleSize.

3. The spinRadnomMin and spinRandomMax ParticleData fields need a FRangeValidator, so it auto-clamped in a range of -1000 to 1000, as we are writing data trying to fit the values in 11 bits (as UInt upto 2048 max).
   * The description for those fields needs to be updated to use 1000 instead of 10000.
   * ParticleData::onAdd() should check for values to be in a correct range too.
Fix for Issue_190

Fix for Issue_190:
Without having DI8DEVTYPE_DRIVING here, many steering wheel's will show
up as "unknown" and cannot be mapped to actions. Driving and gamepad
both map to joystick for consistency, since they all can have buttons,
axes, sliders, and pov hat's.
Fix for Issue #214

Changed two SI_DPOV references to read as SI_DPOV2
Expanded signals and journaled signals to support up to 13 parameters
New ScriptTickObject

ScriptTickObject is a ScriptObject that adds callbacks for tick and
frame events.  Use setProcessTicks() to enable or disable the
onInterpolateTick() and onProcessTick() callbacks.  The
callOnAdvanceTime property determines if the onAdvanceTime() callback is
called.
New console type for Point3I
Input event changes

- New InputEventManager class.  It will be used by 3rd party input
devices to generate Torque 3D input events.
- Expanded the input event signal to include three new floats and a new
integer.
- Expanded the number of joystick buttons to 48.
- The input virtual map is now extendable rather than hard coded.
- The input devices types are now extendable rather than hard coded.
- New SI_POS, SI_ROT, SI_INT, and SI_FLOAT input event types.
- New SI_VALUE input action type.
- ActionMap has been updated to work with these changes.
- Removed unnecessary references to platform/event.h
New RigidShape method to force client

New forceClientTransform() console method to force a RigidShape's
transform on the client.  This is used when you transform a RigidShape
on the server and want the client to immediately transform rather than
interpolate to the transform.
ExtendedMove class and support

The ExtendedMove class can optionally replace the standard Move class to
allow the passing of absolute position and rotation information from the
client's input device to the server.  It is enabled by changing
$TORQUE_EXTENDED_MOVE to true in buildFiles/config/project.conf and
re-running the project generator.
Moved platform input event files under new input directory