Fixed Vehicle crash on changing datablock shape in editor for #189

To fix #189 I:

 * Separated out parts of ShapeBaseData::preload and descendant classes
   that referred to mShape into _loadShape
 * Called _loadShape when shapeName is changed from scripts using
   addProtectedField
 * Now, Vehicle will AssertFatal when you give it a shape with no
   collision mesh, instead of crashing nastily later

See #739 also.