Merge pull request #84 from hughescr/master

Another combine: can combine spakrling shards to make serpents eyes for JC crafting
Avoid errors when item names are unknown

When scanning items for opening, if an item isn't in the local cache it
may not return a name. Avoid the lua error by showing such items as
"Unknown".
Allow poison application while stealthed
Have the db values match the state of the checkboxes.
Properly update checkboxes when showing the config panel.
Update the configuration panel when switching spec.
Pull in ui-tabs external
Add some tabs to the config panel
Move corks modules into the new config tabs
Merge branch 'tekkub' of https://github.com/Adirelle/Cork
Config refresh on spec change, thanks @Adirelle
Externals update
Don't warn about darkmoon if player has the hat buff
Better handling of maxlevel in darkmoon module
Implement tooltip scanning based item opener

This replaces the hard-coded item openers with a tooltip scanning version;
instead of coding up a hand maintained list of items that can be opened we
scan for the global string injected into the tooltip by WoW.

This is reasonably fast, and only needs invocation when inventory changes.
To avoid encoding complexities like lockboxes that become openable, but only
after being picked, we don't cache data at present.

In testing, this is fast enough that I am unable to detect either a frame rate
drop cost from this change, or enough CPU use to register in a significant
fashion in the built-in CPU profiling tools.

The implementation is generic enough that it can be reused with more than one
opener, and will only scan each item tooltip once no matter how many patterns
are active on each change.

Signed-off-by: Daniel Pittman <daniel@isara.local>
Tabs for indents!
Bring in tooltip scanner external
Simplify down the item scanner
Merge openable item stuff into one file
Fix tooltip scanning on initial login