Fixed file not found bug

Added a test to check the existence of the file without appending
extension to the filename, so now OGXmlConfig and its descendant classes
will load files even if the extension is already given in the filename
Fixed segfault when balls can't find target

OGBall::FindTarget() sets pTargetBall_ to 0, when no target
can be found, which is dereferenced in OGBall::IsCanClimb()
and OGBall::Move().
Fixing bugs of the pipe.

It was possible to open the pipe by catching a falling ball
inside the sensor, then attaching it anywhere, because in
OGContactListener::BeginContact() and OGContactListener::EndContact()
the same method was called and OGSensor::BeginContact() runs after
attaching the ball. The new member in OGUserData won't let sensors
balls_ decrease when doing the same (OGSensor::EndContact() is also
called after attaching) and avoids the pipe to remain open if a ball
enters the sensor attached but leaves unattached.
Setting the isTouching false in OGExitSensor::_EndContact() avoids
the force to keep applied if the ball was pulled away from the pipe.
Balls are now moving with strands.

Climb target and origin are updated in OGBall::Move(), then balls
are repositioned in OGClimb::onTargetChanged() if needed. It won't
move the ball if OGClimb::initNewTarget() was called before updating,
instead we can set a new origin and target, like in
OGBall::Algorithm2(). In this case, OGClimb::onOriginChanged() will
calculate the originCorrection, which is needed because usually when
we set the new origin, the origin ball and our ball won't be in the
same position. That would make our ball jump this distance, if we
wouldn't add the originCorrection to the origin in
OGClimb::onTargetChanged().
Merge pull request #75 from BFeri92/master

Bug fixes