external processes now communicate with a pipe, not a TTY

This should produce minor efficiency gains. Not super important
using cadr where appropriate
some minor refactoring, erro rchecking
Cscope options exposed through customizable variables
changes bump