Change terrain intersection testing.

- Introduce rayIntersects to ITerrainAdapter to let the terrain
  implementation decide how to check for ray collisions.
- Use rayIntersects instead of RaySceneQueries in AvatarTerrainCursor,
  MainCamera and ThirdPersonCameraMount.
- In MainCamera, a result for the RaySceneQuery is created manually if
  the ray intersects with the terrain so the listeners do not have to be
  changed.
Use ST_EXTERIOR_REAL_FAR to create scene manager
Pass ray by reference in ITerrainAdapter
Resolve some coding standard issues.
Add Ogre::Terrain and Ogre::Paging to build
Move IPageData from scene manager specific code.
Use Ogre::Terrain component with a constant height.

- Only basic support, no paging or data from Mercator yet.
- No Materials used yet, so far the terrain is a black surface.
- Move the dummy implementations to a separate directory(can be deleted
  later if unnecessary)
Enable terrain paging using a flat terrain
Use Mercator data for terrain rendering

 - The TerrainPageDataProvider is now registered directly with the
   TerrainAdapter instead of with Scene.
 - There is still an occasional segfault remaining most likely caused by
   a problem with how terrain data is loaded and unloaded in multiple
   threads.
Set terrain load and hold radius to usable value
Wait for terrain page to finish loading
Create constants for terrain rendering

 TERRAIN_SIZE, LOAD_RADIUS and HOLD_RADIUS are now static constants