Checked that no split output is unused

This pull request improves two things:
1) An error is raised, if an output of a split() is unused.
No output should be unused, to produce a meaningful gradInput.

2) It is allowed to call node:split() and use the node also
as an input somewhere else. The gradients from the two branches will be added together.