Added a general config action group which currently has 2 actions, refresh the auto detected ip (for use in case your receiver's ip address changes), and one to verify the static ip, which return True or False depending on whether the receiver is found at the end of the configured static ip.
Added the ability to get multiple values returned from a get_status_strings or get_device_strings function, because that way you only have to query the receiver over the network once.
A little bit of cleanup and optimization for GetInfo action.
Added NUMCHAR_CODES to globals.py
OperationActions now use the OPERATION_CODES dict in the globals.py
Removed duplicate NumCharAction class (possibly left over from a bad merge?)
Cursor actions now use a global dict CURSOR_CODES, and also i added back in some codes that work only for the main zone and not zone 2, 'Level' and 'On Screen'. These went missing when i converted the original code by dragon470 on accident.
Refactored out a lot of the GetInfo object lists into globals.py
Added more user friendly names to all of the class based actions, and gave them all descriptions.
Don't auto load macros because they are not configured yet.
Added the ability to print the input and output xml using the parameter print_xml=True to any of the yamaha xml functions. Also i modified the "Frequency" get info to calculate the "real" value based on the exponent.