issue #1804: Printer object, User Preference Print Settings

This is built on top of @gpazo's https://github.com/xtuple/xtuple/pull/1797 

Old (closed) PR: https://github.com/xtuple/xtuple/pull/1865

UAT:
1. Navigate to Billing > Invoices 
2. Print an Invoice and verify that it prints to a new tab on the browser

To setup and print to a printer:
1. Install CUPS and CUPS-PDF
2. Add the Printer to the Printer object in Setup > Printers. Use the EXACT name as the CUPS printer name
3. Navigate home then Actions > Preferences. Set Invoice to the CUPS installed printer.
4. Re-print Invoice, verify that it prints to the selected printer
You could try using `child_process.execFile`

https://gist.github.com/Sidnicious/1215700