Renamed Data to Input
added step() to Parameter
It was a bit unclear how LearningRule changed the parameters.
added shared parameters.
Multiple layers can share the same parameter. This is useful for e.g.
recurrent or siamese networks.
added SiameseNetwork
Squashed commit of the following:

commit 500a379a0da6e66fd1059691269826197f7ae462
Author: Anders Boesen Lindbo Larsen <anders.bll@gmail.com>
Date:   Sat Dec 6 21:53:56 2014 +0100

    siamese network done

commit fa9b67ed5202ce4fedabcc21d9e7b4b034746120
Author: Anders Boesen Lindbo Larsen <anders.bll@gmail.com>
Date:   Sat Dec 6 21:15:11 2014 +0100

    towards a siamese network

commit 12d724389b867c54fcbb7a101e28bb93f503516b
Author: Anders Boesen Lindbo Larsen <anders.bll@gmail.com>
Date:   Wed Dec 3 02:08:55 2014 +0100

    towards a siamese network

commit f7fe7fb590e15f234f7d3e23a9c2e7707481c580
Author: Anders Boesen Lindbo Larsen <anders.bll@gmail.com>
Date:   Tue Dec 2 22:09:28 2014 +0100

    towards a siamese network