Do a general cleanup of watch(8). Specifically:
- remote the -i option,
- simplify the input buffer management,
- make sure that the terminal state is restored in error cases,
- fix the feature which allows users to switch between TTYs without
  reinvoking watch(8).
Merge branch 'watch-cleanup' into markj