Added workaround to overcome Octave's convn() bug.

+ Added wrapper function 'custom_convn' to choose between three ways of
computing the convn(). The default behaviour is to use convn() and to
choose between 'valid' and 'same' according to the platform(Matlab or
Octave).
A third option is to use 'fft' which uses FFT based convolution.
Although this is very slow, the library can be compiled to support GPU.
Check the code for more info.
+ Added an utility function 'isOctave()' to tell which platform is being
used.
+ TODO: We should use custom_convn() everywhere, but this may slow
things down too much.
+ test_cnn_gradients_are_numerically_correct fails with convn(,,'same')
but works with convnfft.
Started work in creating dataset

Added an script to fetch mfccs from VoxForge.
Solved some problems in the crawling script. Still work in progress.
Removed global variables from script.

Also, added error handling and changed output file format.
Changes in cnn.
Merge branch 'master' of https://github.com/albertoandreottiATgmail/DeepLearnToolbox

Conflicts:
	data/generate_mfcc.m
Rolled back some commits.
Merge branch 'master' of https://github.com/albertoandreottiATgmail/DeepLearnToolbox
Rolled back to master.
Merge branch 'master' of https://github.com/albertoandreottiATgmail/DeepLearnToolbox
merged upstream/master
Fixed a couple things after the rebase.
Few changes to make CNNs work on Octave.
Few changes to make CNNs work on Octave.
Rebase.
Merge remote-tracking branch 'rasmus/master' into convnfix

Conflicts:
	tests/test_example_CNN.m
Solved conflict.
Indentation.
fix assertion
Minor changes

+ changed the scripts for CI.
+ tunned a bit the test parameters in test_example_CNN.