Logic system supporting auto plugins and initial outline of AutoPlugin and Natures types.

 * Not integrated into project loading
 * Doesn't yet check that negation is acyclic before execution
Main part of integrating natures into project loading.
API documentation and comments related to natures
logic system/auto-plugins: Provide deprecated methods for binary compatibility
Discover all sbt-related modules (not just Plugin) and write names to resources for use from binaries.
Test for automatic handling of AutoImport, AutoPlugin, and Build from binary plugins.
Acyclic negation checking in logic system that backs auto-plugins.
Translate errors from logic system to Natures system.
API docs, better terminology for negative cycle checking in logic system.
Convert logic system test cases into unit tests.

Still TODO for auto-plugins/logic:

 * property-based tests for logic system
 * user documentation
 * (optional) 'about plugins' or similar to show more information about the auto-plugins for a project
 * (deferred) allow AutoPlugin to inject Commands directly?
 * (deferred) provide AutoPlugin functionality to arbitrary scopes instead of just at the Project level?