BF: limit permutator to chunks -- otherwise it might end up with a uni-labeled partition

which happened to be a problem for a classifier with a
split-RFE.
Merge remote-tracking branch 'github_nno_PyMVPA/_tent/surface_searchlight'

* github_nno_PyMVPA/_tent/surface_searchlight:
  DOC: fixing a few typos
  ENH: add test_surfing_voxelselection to the nose tests; ENH check in test_surfing whether h5py exists
  DOC: moved class documentation to __init__ body - hopefully this will make travis happy
  NF: support for dilation of a mask returned by volgeom
  BF: ensure voxel_indices are used in dataset if provided to volgeom.from_any
  BF: fix setup.py so that building is not hampered by afni_anat_preproc.py
ENH: in the master remove reference to yamis testing for _tent/surface_searchlight
enabled another unit test in test_surfing
ENH: faster unit test for comparison between surface and volume based searchlight
for now do not test tiziano's branch for py3
Merge remote-tracking branch 'github_nno_PyMVPA/master'

* github_nno_PyMVPA/master:
  ENH: faster unit test for comparison between surface and volume based searchlight
  enabled another unit test in test_surfing
  ENH: in the master remove reference to yamis testing for _tent/surface_searchlight
  ENH: set up travis to run unit tests on both master and _tent/surface_searchlight branches
  ENH: faster unittest for test_surfing as well
  ENH: faster unit test for voxel selection as requested by Yarik.
  ENH: volgeom.from_any can now load from either nifti or h5py, depending on file extension
  ENH: remove warning when loading an fmri-dataset an using its mask
BF: make LDA/QDA robust for cases with degenerate covariance structure through using pinv in that case

was detected with

======================================================================
ERROR: test_values (mvpa2.tests.test_clf.ClassifiersTests)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/home/neurodebian/proj/pymvpa/logs/daily/pymvpa_tests-20121121_134232/PyMVPA/mvpa2/testing/sweepargs.py", line 67, in do_sweep
    method(*args_, **kwargs_)
  File "/home/neurodebian/proj/pymvpa/logs/daily/pymvpa_tests-20121121_134232/PyMVPA/mvpa2/tests/test_clf.py", line 637, in test_values
    _ = cv(ds)
  File "/home/neurodebian/proj/pymvpa/logs/daily/pymvpa_tests-20121121_134232/PyMVPA/mvpa2/base/learner.py", line 239, in __call__
    return super(Learner, self).__call__(ds)
  File "/home/neurodebian/proj/pymvpa/logs/daily/pymvpa_tests-20121121_134232/PyMVPA/mvpa2/base/node.py", line 97, in __call__
    result = self._call(ds)
  File "/home/neurodebian/proj/pymvpa/logs/daily/pymvpa_tests-20121121_134232/PyMVPA/mvpa2/measures/base.py", line 489, in _call
    return super(CrossValidation, self)._call(ds)
  File "/home/neurodebian/proj/pymvpa/logs/daily/pymvpa_tests-20121121_134232/PyMVPA/mvpa2/measures/base.py", line 318, in _call
    result = node(sds)
  File "/home/neurodebian/proj/pymvpa/logs/daily/pymvpa_tests-20121121_134232/PyMVPA/mvpa2/base/learner.py", line 239, in __call__
    return super(Learner, self).__call__(ds)
  File "/home/neurodebian/proj/pymvpa/logs/daily/pymvpa_tests-20121121_134232/PyMVPA/mvpa2/base/node.py", line 97, in __call__
    result = self._call(ds)
  File "/home/neurodebian/proj/pymvpa/logs/daily/pymvpa_tests-20121121_134232/PyMVPA/mvpa2/measures/base.py", line 583, in _call
    measure.train(dstrain)
  File "/home/neurodebian/proj/pymvpa/logs/daily/pymvpa_tests-20121121_134232/PyMVPA/mvpa2/base/learner.py", line 119, in train
    result = self._train(ds)
  File "/home/neurodebian/proj/pymvpa/logs/daily/pymvpa_tests-20121121_134232/PyMVPA/mvpa2/clfs/gda.py", line 244, in _train
    % (e,)
DegenerateInputError: Data is probably singular, since inverse fails. Got Singular matrix
BF: removed unused import of fmri_dataset and made nibabel import optional
ENH: new absent optional dependency -- nibabel to strengthen our testing
BF: surfing - make imports of optional nibabel and h5py conditional on their existence
BF: moved few debug calls under __debug__
ENH: Let's try travis's matrix feature
BF: we had "env:" already so move matrix there and prepend with -s
ENH: travis matrix does not define dimensions but rather "entries"

also resorted apt-get lines, added matplotlib, enabled testing against running with -O

I AM NOT GREEDY AT ALL
NF: proper mask dilation in volgeom. ENH: allow for different datatypes in volgeom.{ijk2lin,lin2ijk}. BF: ensure that h5load is used in volgeom.from_any
Merge branch 'master' of http://github.com/yarikoptic/PyMVPA
ENH: removed some unnecessary imports
ENH: added check whether nibabel is there in tests
BF: proper order for import and check for externals