Build time speedups

ready to merge! 

This drops the buildtime by a factor of 10-20. 
Just used numpy instead of creating theano functions for the encoders and random numbers in ensemble.py.