Don't crash on parameters validation if the training_frame is not set.  Soon we'll have a flag to specify whether this is an error or not.
Restructure algo parameter setup & checks

Move sanityCheckParameters and prepareFrame and the parm error messages
into ModelBuilder.init().  Clean up the training frame into the
ModelBuilder same for all algos; this frame is internal-use only and
private to the ModelBuilder (no K/V cleanup issues; private so can
modify freely).
ModelBuilder.train() -> trainModel()
ModelBuilder._train contains the cleaned-up Frame.
DataInfo reorders ModelBuilder._train frame, the _adaptedFrame is the
same frame by default

Class restructure:
Model
KMeans
SupervisedModel
DeepLearning
GLM
Example
SharedTree
GBM
DRF

Fix several DL validation test bugs.
Fix numerous IdeaJ warnings.
stricter checking when popping a scope and returning to the parent
"exec" a closure body and "treeWalk" each statement
  * possible to skip statements that are not control flow or assign
  * if statements spawn new environments for evaluating the condition
Force toEnum in DeepLearningIrisTest
Force train&test toEnum early

Not forced by ModelBuilder until training starts, but DLIrisTest
requires the cardinality count of the response variable after a random
split (force include all levels).  So force toEnum early to get the
cardinality.
Restructure algo parameter setup & checks

Move sanityCheckParameters and prepareFrame and the parm error messages
into ModelBuilder.init().  Clean up the training frame into the
ModelBuilder same for all algos; this frame is internal-use only and
private to the ModelBuilder (no K/V cleanup issues; private so can
modify freely).
ModelBuilder.train() -> trainModel()
ModelBuilder._train contains the cleaned-up Frame.
DataInfo reorders ModelBuilder._train frame, the _adaptedFrame is the
same frame by default

Class restructure:
Model
KMeans
SupervisedModel
DeepLearning
GLM
Example
SharedTree
GBM
DRF

Fix several DL validation test bugs.
Fix numerous IdeaJ warnings.
Force toEnum in DeepLearningIrisTest
Force train&test toEnum early

Not forced by ModelBuilder until training starts, but DLIrisTest
requires the cardinality count of the response variable after a random
split (force include all levels).  So force toEnum early to get the
cardinality.
Merge branch 'cliffc-api' of github.com:0xdata/h2o-dev into cliffc-api

Conflicts:
	h2o-core/src/main/java/water/Job.java
Get everything to compile; basically an extension of the prior merge
Better error msg on ModelBuilder crash

ignore results of new web test
Handle missing _train in parameters sanitycheck
Ignore actual, default values in tests
Added --usecloud so it's compatible with the run.py runner.
Disable gold checks
Add is_python_file() so non-test files can be specified explicitly with --test.
Added runGenerateRESTAPIDocs target.
Merge branch 'master' of github.com:0xdata/h2o-dev
Pass along validation errors out the JSON
Added pip python package.