Added generalized Tucker deomposition and associated tests

@eickenberg I added a Tucker decomposition - no good examples yet but I am working on one after this. Had to add a few more utility functions to make the algorithm work.