Calculate ROC AUC as a monitor channel

I wrapped sklearn.metrics.roc_auc_score as a Theano Op and wrote a TrainExtension class that calculates ROC AUC on each monitoring dataset. It's recommended to use monitoring_batches=1 with this extension, since ROC AUC cannot be calculated unless both classes are represented in a batch (but it fails gracefully, returning nan for that channel value).

See test_roc_auc.py for a simple example.