Local score based structure learning

Distinguish score metrics (Section 2.1) and search algorithms (Section 2.2).
A local score based structure learning can be selected by choosing one in the
`weka.classifiers.bayes.net.search.local` package.

Local score based algorithms have the following options in common:
`initAsNaiveBayes` if set **true** (default), the initial network structure used
for starting the traversal of the search space is a naive Bayes network
structure. That is, a structure with arrows from the class variable to
each of the attribute variables.

If set **false**, an empty network structure will be used (i.e., no arrows at all).
`markovBlanketClassifier` (**false** by default) if set **true**,
at the end of the traversal of the search space, a heuristic is used
to ensure each of the attributes are in the Markov blanket of the
classifier node. If a node is already in the Markov blanket (i.e., is
a parent, child of sibling of the classifier node) nothing happens,
otherwise an arrow is added.

If set to **false** no such arrows are added.
`scoreType` determines the score metric used (see Section 2.1
for details). Currently, K2, BDe, AIC, Entropy and MDL are implemented.
`maxNrOfParents` is an upper bound on the number of parents of each of the
nodes in the network structure learned.