New API for CID, DOE, etc.

This builds off of Scott's pull request, and adds:

1. New API and rewrite for metamodel
2. New API and rewrite for Pareto
3. New API and rewrite for ExpectedImprovement and MultiExpectedImprovement
4. Rewrite of examples and docs with the new APIs.