More reworking of WitnessAux and corresponding minor Nat tweaks.
- WitnessAux fully replaced by a type alias for Witness.
- Witness.Eq renamed to Witness.Aux
- nat object in shapeless package object is now a val alias for Nat.
- Singleton Nat implicits moved to Nat.
- Some result type annotations added to a few examples necessary as as
  result of the WitnessAux => Witness.Aux transition.