Make sure when including BP API that CBox doesn't fail.
Refactor internal CBox plugin registration to handle multiple types.
Refactor CIAB_Plugins::get_plugins() to do all our plugin fetching.
Instead of registering and returning a plugin type all at once, divvy up plugin registration into separate methods in CIAB_Plugins::setup_globals().

Then, we can use CIAB_Plugins::get_plugins() to grab plugins in any context we want.

Change old CIAB_Plugins::required_plugins() calls to use CIAB_Plugins::get_plugins().
Load Plugin Dependencies library on the WP Updates page.

This is done so we can initialize Plugin Dependencies so we can omit all CBox plugins from WP updates.
Minor inline doc cleanup.
Move CBox plugins from dashboard to its own dedicated page.

* Introduces cbox_is_setup() function to tell if CBox has completed setup.  Also introduces /admin/functions.php file.
* Introduces CIAB_Plugins::render_plugin_table() to output a plugin list table based on CBox plugin type; extrapolates table code from now-defunct CIAB_Plugins::cbox_dashboard() method.  Use this method to create the multi-tiered table on the CBox plugins page.
* Introduces CBox_Updater::the_redirect_link() to output a redirect link after the update process.
Add versioning to CBox.

Versioning will help in creating the setup process.

* Remove CBOX_VERSIOn and CBOX_DB_VERSION constants from Commons_In_A_Box::constants() and use internal variables instead.
* Introduces cbox_version(), cbox_get_version(), cbox_get_current_revision_date() and cbox_get_installed_revision_date().
* Modify cbox_is_setup() to check for the installed CBox revision date vs. current revision date.
* Remove unused cbox()->get_plugin_dir() method.

Might remove revision date checks to use version checks instead in a later commit.
Break out metaboxes from CBox's welcome panel.

Metaboxes can only be seen once CBox has finished setup.
Do not show welcome panel dismissal links if CBox isn't setup yet.
Tweak Plugin Dependencies.

* Make PD more network-friendly during the activation / deactivation process.

* Fix problems with having multiple plugins of the same name.  This affected the  variable.

* Add a toggleable filter - 'pd_show_preactivation_warnings' - to potentially hide preactivation warnings.  This will be used in CBox for network super admins.
Admin function tweaks:

* Add cbox_is_upgraded() function - to see if CBox just upgraded

* Add cbox_bump_revision_date() function - to bump the CBox revision date in the DB

* Add cbox_the_bp_admin_wizard_url() - to output the URL for the BP admin wizard page
Updater tweaks:

* Add an additional 'settings' parameter to the 'CBox_Updater' constructor.  This allows us to pass a custom 'redirect_link' parameter to be used after the updater is finished.

* Make activating plugins more network-friendly and single-site-friendly.

* Remove CBox_Updater::the_redirect_link() method and use new CBox_Bulk_Plugin_Upgrader_Skin::after_updater() method instead
Plugin handler tweaks:

== Settings ==

* Add ability to register settings URLs to CIAB_Plugins::register_plugin(). Uses two parameters - 'admin_settings' and 'network_settings' depending if the site is a network.  Both use the relative path to /wp-admin/.  If network plugin's settings page resides on the root blog only, use 'network_settings' => 'root-blog-only' and define the 'admin_settings' parameter.

* Register settings pages for most of CBox's plugins.

* Add settings links to CBox plugins page for active plugins only.

== Plugins ==

* Make CIAB_Plugins::render_plugin_table() more flexible by changing parameters into an array and by adding two additional parameters - 'omit_activated' (to omit activated plugins from the table) and 'check_all' (to mark all checkboxes as checked).

* Add additional parameter to CIAB_Plugins::get_plugins() to omit plugins of a certain type.

* Add helper methods - CIAB_Plugins::organize_plugins_by_state(), CIAB_Plugins::get_settings(), CIAB_Plugins::get_upgrades()

* Tweak deactivation notice for network use.

* Change CIAB_Plugins::is_override() to use a define instead of a filter.
Admin handler tweaks:

== Dashboard ==

* Load Plugin Dependencies library on CBox dashboard page

* Fix welcome panel so it displays if no existing user setting is set

* Add 'Instructions' section ( CIAB_Admin::instructions() ) - this shows different content depending if BP and CBox is setup correctly

* Add 'Upgrades' section ( CIAB_Admin::upgrades() ) - this shows up when CBox was upgraded through the WP Updates panel and when installed CBox plugins have updates.

* Add plugin settings links to the dashboard ( CIAB_Admin::metaboxes() ).  Only show when CBox has completed setup and only show settings for plugins that are currently activated.

* Add 'About' section with links to What's New, Credits, Documentation and Dev tracker.

== Admin ==

* Add a header ( CIAB_Admin::plugins_page_header() ) on the regular WP plugins page to let admins know that CBox plugins can be found on a different page.  This was done for UI reasons.

* Add an admin notice ( CIAB_Admin::notice() ) when CBox hasn't completed setup yet.
Bump CBox revision date.