Created ensemble methods

This is an initial pull request, and probably there is a lot of functionality missing and bugs, but I would like to get the conversation started about contributing these changes back.