separating printers from options.  also making some sensible functions
around getting and setting options and printers.  readline now writes
history as soon as the command is run to prevent losing your history
when you encounter a fatal error