Add mutualInformationBtwSets in table.h

This function computes the mutual information between 2 sets of
features given a ctable.
Port powerset to C++11 (resulting in simplication) + improve comments
Port functionUTest to C++11
Fix bug in powerset
Implement feature_selector::mi

mi returns either the mutual information between feature sets, or an
approximation of it, actually more accurate if we assume the number of
interaction is up to diversity_interaction.
Optimize diversity pressure for feature sets
Merge remote-tracking branch 'refs/remotes/upstream/master' into diversity_feature_selection
cython: move code out of the header file

This routine is not performance-critical; there is no reason
why it can't live in the C file instead of the header.
A side effect is that the header include heirarchy is cleaned up.
Sketch a python GroundedSchemaNode

I can't figure out how to invoke python from opencog.
Merge pull request #150 from linas/python-game

Python grounded schema node
Remove redundant feature sets selected by moses before return them
Improve logging, mostly for feature selection within moses
Improve logging when closing several demes
Add feature_selector_parameters::diversity_cap parameter

Add cap to retain and consider only a subset of feature sets during
feature selection within moses. We do that to avoid spending too much
computation in ranking features according to diversity.
Fix feature ranking accounting to diveristy
Add moses program options to control feature selection diversity
Move tableUTest.cxxtest and test datasets under tests/comboreduct/table
Add assert about feature set range in mutualInformationBtwSets

I noticed using too big feature set indexes doesn't crash, instead the
computation is wrong (thanks C++!)
Add unit test for mutualInformationBtwSets
Remove boost::phoenix (use lambda instead) due to boost program option conflict