use null instead of -1 to undicate unspecified heading
use null instead of "auto" if no turn dir is indicated
add comments for requested and target properties
of the aircraft
remove disfunctional if block.

the condition already implies this.mode == "landing" therefore
this.mode = "landing" is a noop.
factor out noop from if statement

if this.mode == "cruise", then the second if
statement's expression (this.mode != "cruise")
never holds. As this.mode == "cruise" is set,
this.mode = "cruise" is a noop. We can therefore
conclude, the else if only has an effect if
this.mode == "landing"
drop logic that is taken care of by cancelLanding
further collapse ifs

if (A) {
  if (B) {
    //foo
  }
}

becomes

if (A && B) {
  //foo
}
A lot of refactoring.

Introduce the concept of a navmode in the request in preparation of
propper waypoints. The navmode also clarifies which mechanism currently
determines which type of navigation is currently used (heading, fix,
approaching a runway).

Other than that: Some comments to clarify
 - request.mode
 - request.requested
 - request.requested.navmode
 - request.target
Merge pull request #54 from niklasfi/waypoints

Refactoring, Navmode & preparations for Waypoints