Passing CRAN and expanding test coverage

Close #37. Close #38. Accomplish many of the tasks on #32. 

Add unit tests for all helper functions for `caretEnsemble`. Expand unit test coverage to smaller helper functions like weighted standard deviations. Fix `summary.caretEnsemble` to produce correct results for ensembled models. 

Still need to make the `predict.caretEnsemble` output more consistent across different options. 

Fixes a number of issues related to `varImp`, though it does not fail gracefully in the case when `varImp` method fails for a specific method passed to `train`. 

Added a new test suite using more diverse `train` methods and some missingness. This checks against some errors relating to building to specifically to the included test models and only increases the size of the package modestly. 
I'm getting this note when I run check():
checking Rd \usage sections ... NOTE
S3 methods shown with full name in documentation object 'predict.caretEnsemble':
  ‘predict.caretEnsemble’

S3 methods shown with full name in documentation object 'predict.caretStack':
  ‘predict.caretStack’

The \usage entries for S3 methods should use the \method markup and not
their full name.
See the chapter ‘Writing R documentation files’ in the ‘Writing R
Extensions’ manual.

I think adding the @method tag to predict.caretEnsemble fixes this (@method predict caretEnsemble)