[WIP] FABIA biclustering algorithm

This PR adds the FABIA biclustering algorithm to sklearn, as discussed off-list with @kemaleren (and his mentors).

As this is my first larger contribution, please point out any rough edges I might have overlooked in the PR process.

Things worth mentioning:

* Two of the included tests are skipped because of their long running time, as they are not simple functionality tests but rather reproduce part of a simulation study from the original paper (e.g. they make sure results are up to par with the R reference implementation). Also, these two tests rely on Issue  #2445 being fixed.

* I couldn't build the docs due what seems to be something related to Issue #1140, but I'm unable to fix it on my computer :( So I couldn't verify if there are formatting errors in the accompanying documentation.

* I haven't gotten around writing a good example yet (ideas welcome!)

* There's no benchmarking included (as the reference implementation is in R). However this implementation runs faster than the pure R version of FABIA (part of the reference package), but slower than the current reference implementation (which is C wrapped in R) by a factor of 2-5 (depending on data size).

References:
 * Hochreiter, Bodenhofer, et. al., 2010. *FABIA: factor analysis  for bicluster acquisition*
   <https://www.ncbi.nlm.nih.gov/pmc/articles/PMC2881408/>