trees: RandomTree

RandomTrees build DecisionTrees using a random attribute
selected at each node.

Squashed commit of the following:

commit 89141f5f238b7d431813c1ae372971561b783927
Author: Richard Townsend <richard@sentimentron.co.uk>
Date:   Fri May 9 12:55:40 2014 +0100

    Cleaning up before we do random forests

commit 9d385a144e0d5cf2647a10a0968b034615cf0b1a
Author: Richard Townsend <richard@sentimentron.co.uk>
Date:   Fri May 9 12:55:16 2014 +0100

    binning.go: idiotic correction

commit 1dc01b5049d4a318b3fcde3c9ca2399a274ae85f
Author: Richard Townsend <richard@sentimentron.co.uk>
Date:   Fri May 9 12:40:57 2014 +0100

    classifier.go: documentation

commit 421ce7547a7c40c11c0428e0fa36a9696ec2eb94
Author: Richard Townsend <richard@sentimentron.co.uk>
Date:   Fri May 9 12:22:23 2014 +0100

    RandomTree

commit 3c227f2ea156a32c1e65939fd30ae0d77915a73c
Author: Richard Townsend <richard@sentimentron.co.uk>
Date:   Thu May 8 18:04:47 2014 +0100

    DecisionTree Predict() method

commit c1907e7ec2fa9db1ce6eb70d4631ab33a3da3466
Author: Richard Townsend <richard@sentimentron.co.uk>
Date:   Thu May 8 17:51:05 2014 +0100

    metrics

commit 1bae8332739d377b8ee904a3ccd01447de7766ca
Author: Richard Townsend <richard@sentimentron.co.uk>
Date:   Thu May 8 17:19:43 2014 +0100

    instacnces.go: removed debugging

commit 3c5010733eb3bd41eb104eb6025009e6f92434c1
Author: Richard Townsend <richard@sentimentron.co.uk>
Date:   Thu May 8 16:16:12 2014 +0100

    Random generates the decision tree

commit d55529ae644e39b0c3ada26de5037562c2643cf9
Author: Richard Townsend <richard@sentimentron.co.uk>
Date:   Thu May 8 16:15:54 2014 +0100

    Correction