Add initial unit tests for wp.customize.Class in customize-base.js
Add PHP API for contextual panels/sections (props @celloexpressions), along with JS one

For Trac 29758
Eliminate SidebarControl.toggleActive in favor of setting section's active state
Clean up `accordion.js`, removing all Customizer-specific logic

This is probably the one place where we'll have a significant amount of red.
Prevent `accordion.js` from acting on the Customizer if a plugin enqueues it for another purpose (Menu Customizer is an example)
toggleExpanded() and toggleActive() changed to onToggleExpanded() and onToggleActive(). Also, expandedArgumentsQueue introduced to hold arguments for animation duration and allowMultiple

Conflicts:
	src/wp-admin/js/customize-controls.js
Normalize API for passing parameters to	activate/deactivate, expand/collapse

Add defaultActiveArguments and defaultExpandedArguments
Clean up some JS formatting (tabs vs spaces, trailing whitespace, etc)
Pass onToggleActive args.duration to slideDown/slideUp
Add activeArgumentsQueue to Control
Use onToggleExpanded onToggleActive naming on Widget controls
Close top-level sections immediately when opening panel
Fix _applyCardinalOrderClassNames to use API instead of DOM traversal
Merge pull request #37 from xwpco/trac-28709-kienstra

Build on changes from @kienstra
Implements @todo: focus() for api.Section and api.Control
api.control.focus() calls expand() on containingSection and containingPanel if it exists