First check-in for re-writing of file handling code. Issue #6.
THIS CODE HAS NOT BEEN TESTED AND IS LIKELY BROKEN!

Major changes:
* Addition of Jason's RegistrationPipeFH and RegistrationGroupedFiles classes
* Changing of exisiting minctracc classes in preparation for using these new classes. Changes include:
	- removing log files as constructors. log files are now set within the classes. some placeholders
        - removing output files from constructors. output files now set within classes. some placeholders
	- removed mincFileHandling() class, as that functionality no longer needed
* Made some changes/additions to fileHandling class, though more changes are definitely coming, including removing unneeded functions.
* Updated MAGeT code to be in accordance with the above changes.
Re-write of mincresample to include possible usage of new RegistrationPipeFH class.

***CODE STILL NOT FULLY TESTED AND LIKELY BROKEN***

Related to issue #6.
Moved fileHandling functions to their own module and made a set of functions instead of a class.
Updates to MANIFEST and __init__.py files as well as imports in existing files.

In addition, a few comments added to minctracc.py as part of file handling changes.

AGAIN: USE WITH CAUTION. TESTING STARTS TOMORROW!
Fied errors in file_handling.py from yesterday. (Removal of self from functions)
Put output and logFile back into constructors of minctracc functions per discussion with Jason.
--The purpose of this is to allow for explicit control over outputs and logfiles for people who choose not to use the RegistrationPipeFH class.
  Removing them put is in an "in between" stage, where the RegPipeFH class was not used, but some file naming magic was done in the functions.
These changes part of general file handling overhaul. Related to Issue #6.
As per usual these days: THIS CODE IS STILL BUGGY.

Main changes:
* updated MAGeT.py to use new RegistrationPipeFH class.
* Added blur as argument to minctracc constructors. Some reformatting for clarity.
* Updated blur and other related classes to handle blurs and gradients in one call.
* Updated getBlur function to take a fwhm argument. If not specified, get lastBlur, otherwise get fwhm.
More changes as part of file handling overhaul. Related to Issue #6.
* General bug fixes, including those from moving fileHandling class to its own module (check in # fb763498)
* Fixed error with duplicate directory naming.
* Fixed error where image and template could be the same file
* Created subclass for mincresample, called mincresampleLabels
* Additions to RegistrationPipeFH include lastTransform and lastLabels.
Updates to MAGeT code to more fully implement file handling classes: Issue #6
* Removed Template class and related functions as they are no longer needed.
* Added voxel vote function
* Updates to MAGeT __main__ to use file handlers.
* Separate functions to get/set/add labels
* Some updates to mincresample classes
* Updated file_handling.py to eliminate duplicate functions.

NOTE: This code is still a bit buggy in some of the minctracc stages, needs additional testing.
Fixed transform handling and other minor fixes:
* transforms and lastTransform are now dictionaries. keys are basenames of other files. transforms
keeps track of all transforms from one image to another. lastTransform keeps most recent transform from one image to another.
* self.basevol no longer an array in RegistrationGroupedFiles (Jason and I could not think of a usecase for this)
* registerVolume updated with minor tweaks, including adding xfms to arrays here instead of in calling function.
* fixed resample class argArray error introduced last time.
Changed label handling.
* labelsToUse now called inputLabels for clarity
* inputLabels kept separate from labels array. These are labels that are ultimately resampled using the mincresample command.
* associated renaming of get/set functions
Removed enumerate that was unnecessary for iterating.
Updated how we check if inputFiles are in the RegistrationPipeFH class or strings.
* Added function isFileHandler, which returns True or False
* assert statements handle cases of mismatch between source/target and throw error (ie must be both FH or both strings)
* instead of try/except AttributeError, we now use isFileHandler -- much cleaner
Added defaultDir parameter to constructor for minc classes.
Output files are put in default directories unless specified otherwise.
Also allows for specifying a completely random directory/directory not created by fileHandlers.
Better handling of gradient option for mincblur.
Additional enhancements to the MAGeT algorithm and adjustments to minctracc classes.
* updated defaults in SMATregister to match Mallar's algorithm (may want to asses and adjust how this is done)
* added simplex as an argument to minctracc class
* removed linearminctracc class and folded logic into main minctracc class. Not much use for this class now. If we want to re-introduce later,
I'd like to do it in a more useful way than was previously implemented.
* added fwhm=-1 support in getBlur. -1 --> use basevol instead of blur
* added iter + step to xfm naming to avoid duplicates
Fixed error introduced at commit d86c8b70, where atlases were only being calculated for input files that are also templates.
Now, atlases calculated for ALL input files, with only a subset of these inputs being used as templates.
Removed check to see if input and template were the same file, so we can now do pairwise calc on file with itself, which is ok (per Jason)