Close method

Hello,

I took this from @n1zyy but tried to make less intrusive.

- Added `CupsPrinter#close` to stop leaking 
- Consolidated fetch attribute methods
- Added get attributes for all printers.

I can split up into multiple pull requests, just let me know how you would like to slice/dice.