[MLLIB] [spark-2352] Implementation of an 1-hidden layer Artificial Neural Network (ANN)

The code contains a multi-layer ANN implementation, with variable number of inputs, outputs and hidden nodes. It takes as input an RDD vector pairs, corresponding to the training set with inputs and outputs.

Next to two automated tests, an example program is also included, which also contains a graphical representation.
@witgo @jkbradley: We started out using GradientDescent, and replaced it with LBFGS later. Indeed LBFGS is much faster, however, as a result it also shows earlier overfitting.