[no code change] more pep8 changes
change B subensemble bias calc and create the subensembles last to guarantee same output

- are now using bias of the whole ensemble and divide it between subensembles
- due to randomnes had to move subensemble instantiation to the end (this way can check correctness of values)
- printing just final values at origin for D to validate correctness of output
generalize ensemble splitting

- move the ensemble splitting from the user to the system
- clean up some of the generalized code and the datastructures used
[no code change] commenting and refactoring