Symmetric diffeomorphic non-linear registration

This is a Python/Cython implementation of Avant's mid-point algorithm for symmetric diffeomorphic non-linear registration. We basically reverse-engineered the reference implementation available in ANTS.

This module includes the basic features for volumetric registration:
* The SyN algorithm using free-form deformation fields (a displacement vector per voxel) in 2D and 3D
* Two metrics: Sum of Squared Differences (SSD) and Cross Correlation (CC) 

To validate our implementation, we reproduced the results reported in Rohlfing's [1] paper to make sure we can obtain equivalent results as ANTS with the same number of iterations. This validation consists on registering 18 manually annotated brains (the IBSR database) with each other (306 registrations in total) and comparing the overlap of 31 anatomical areas after registration using the Jaccard index. 

Since this is a long pull request we would also like to have a hang out to explain the main structure, algorithms and tests so that it's easier for you to go through the code.

[1] Rohlfing, T. (2012). Image similarity and tissue overlaps as surrogates for image registration accuracy: widely used but unreliable. IEEE Transactions on Medical Imaging, 31(2), 153–63. doi:10.1109/TMI.2011.2163944
You are right! this normalization is not necessary. The problem was that for some reason the dynamic range of the images was not [0,1] but [0.15, 1], the black pixels appeared "red-ish" when plotted in the red channel and "green-ish" when plotted on the green channel instead of totally black. I fixed the images and the normalization is no longer necessary.