ENH: Refactor and improvements of FourDD code.

* Existing FourDD code base was refactor to improve readability and
  maintainablilty.
* Compile time parameters were exposed and can be set from Python during run
  time.
* Added support for dealiasing radars where the number of ray varies between
  sweeps.
* The functionality of the FourD dealiasing algorithm was not modified, no
  bugs where fixed, etc.  This version should give identical results as older
  version of the code.  THIS WILL BE THE LAST COMMIT WHERE THIS IS TRUE.
* A full revision history of changes made during this refactor can be found
  in the fourdd_fixes branch of GitHub user jjhelmus.
BUG: FourDD filtering based on reflectivity

When filt=1 is used during dealiasing gates where the reflectivities are
below lowdbz or above highdbz are now masked in the velocity field as well as
gates where the reflectivity is missing if rm_missing is set to 1.
BUG: wrong ineqality in FourDD filter
Merge pull request #157 from jjhelmus/fourdd_enh

ENH: Refactor and improvements to FourDD algorith