cyapa - Add false 3-finger button and add emulation for all three buttons

* 3-finger sequences can now be used to emulate all three buttons
  rather than just the left button.

  When you place three fingers down, the one you place last and/or
  the one you tap determines the button.  If the left finger is last
  then the LEFT mouse button is emulation.  Middle finger (of the
  three) emulates the MIDDLE mouse button, and the right finger
  emulates the right mouse button.  Only one button can be emulated
  at a time.

* Add detection for false 3-finger buttons.  When you place all three
  fingers down at the same time within 1/25 of a second this is detected
  and will emulate NO fingers.  You can then simply tap the finger you
  want after moving the mouse pointer to where you want.

  (In addition to the normal one-finger or two-finger mousing, this also
  allows you to mouse with three fingers).

* WARNING!  These trackpads have a limitation when three or more
  fingers are down.  This makes emulating a 4-finger or 5-finger
  'claw' (for button-4 or button-5) very difficult so we currently
  do not support that.

  If three or more fingers are placed on the pad in a horizontal line
  (all Y coordinates are the same), the pad will get confused after
  a few seconds.  It will recalibrate and de-confuse itself if you
  life your hand off the pad for a few seconds.

  The solution is when using 3-finger sequences to place your fingers
  on a SLIGHT diagonal so their Y coordinates are slightly different.
  This will yield much more reliable operation of the trackpadd's
  finger detection function.
kernel - Fix bug in last commit to sys_generic.c

* memp can be uninitialized if the goto done occurs.
getosreldate.3: Update a bit (fix header for prototype, RETURN VALUES).
libc/getosreldate: Include <unistd.h> for prototype.
libc/fork: Fix __fork() definition.