More options to cmdlnprint

I add some options to cmdlnprint, these options
are very useful to me so I think that could be useful fo others.

printorientation = portrait | landscape | default
Define page orientation
If default or not set or invalid then not used

printbgcolors = yes | no | default
Define if background colors will be used
If default or not set or invalid then not used

printbgimages = yes | no | default
Define if background images will be used
If default or not set or invalid then not used

printshrinktofit = yes | no | default
Define if will shrink to fit
If default or not set or invalid then not used

printsetupheader = yes | no | default
Define if will the header will be configured in arguments
If default or not set or invalid then not used

printheaderleft, printheadercenter, printheaderright = text or empty text
Define the header used in left, center and right
This only apply if printsetupheader = yes
If not set then the header will be an empty string

printsetupfooter, printfooterleft, printfootercenter, printfooterright
This options behaves as the header options

printpagerange = yes | no
Define if will be specified a page range
If value is not yes then no is used

printrangestart, printrangeend = integer
These two options define the page range
Used with printpagerange = yes
If the arguments are not valid then it will setup
printpagerange = no