Cherry Pick Initial AD2USB.pm File from HPlato Repo

	new file:   AD2USB.pm
Cherry Pick HPlato Modifications to AD2USB.pm

	modified:   AD2USB.pm
AD2: Fix Comment Formatting to Allow for Proper Collapsing
AD2: Bless Child Obj As Generic Obj; Remove States

- Allows for use of all Generic_Item options including tie_events
- Remove states because this is not an "editable" object
AD2: Remove Redundant Log Entry
AD2: Add Initial Structure for Seperating Out Socket Startup
AD2: Fix Tabbing in Serial_Setup For Easier Reading

Tabs are set at 3 spaces which is odd
AD2: Add Notes Before Moving Things Around
AD2: Add Notes and Correct Tab Spacing in Check for Data

Why are we hardcoding $Self?
AD2: Add Notes and Correct Tabs in Check for Data
AD2: Add Notes and Correct Tabs in CheckCmd and GetStatusType
AD2: Fix Tabbing, Make Sure Setby is Self
AD2: Get Rid of CmdMsg Global Variabls, Simply DefineCmdMsg

Can't use a global variable, otherwise users would not be able to have multiple panels setup in MH.

Greatly simply DefineCmdMsg mess.
AD2: Clean up new() Sub, Don't Change Config Hash

Make new() sub much easier to read, get rid of verbose coding.

Remove all changes to Config Hash, this should be read-only as it represents the contents of the ini file, this contents can be updated by MH
AD2: Remove Unnecessary Checks for MHINTERNAL

No need for this if regex includes start and end of line
AD2: Remove LocalLogit Function

No need for this
AD2: Convert to a Multi-Object Design by Removing Global Vars
AD2: Rework Check_for_Data to Handle Object Oriented Programming

Also cleanup parser to make a little easier
AD2: Add Some POD Documentation
AD2: Further Condense Check_For_Data; Add Additional Comments