* NLIN: wrapped the attempt to get a volume into a try except clause. Addresses Issue #76 - if only in a temporary manner.
* added first (and still ugly) version of twolevel_build_model
Updated stats_tools so that unblurred jacobians are now calculated (in addition to jacobians and scaled jacobians with a blur).

Closing Issue #56.
Merge branch 'develop-lsq6'
More changes to NLIN classes.
1. Creation of NLINBase to clean up duplicate code in subclasses.
2. Added comments/documentation throughout.
3. Added a final group to inputFH at the end of the model building, to be used in the stats class.

Added ability (in both NLIN.py and associated atoms) to override naming conventions.
i.e. We can specify an output to the minctracc, mincANTS or mincresample atoms that will override the default naming conventions while still using file handlers.
This partially addresses issues #45 and is somewhat related to issue #52.

Minor change: updated mincresample and autocrop to use output instead of outFile as an argument, for consistency with other classes.
Merge branch 'master' into mbm-redesign
Merge branch 'master' into mbm-redesign
* moved the option group for LSQ6 to a separate function. That way other modules can import those options to their own input arguments.
Addition of LSQ12 application as a stand-alone program and related changes:
1. Moved LSQ12 class to LSQ12.py (and associated updates to calling classes)
2. Created FullLSQ12 class that includes creation of final average in addition to iterations.
3. Added scaleFactor to stats class as an argument. By passing in this transform, it will be included as part of scaled jacobian calculation. Default is none and only linear part of nlin transform is used.

Minor change:
Fixed error with self.epilog in AbstractApplication class.
Merge branch 'master' into mbm-redesign
First pass at working build model!!!

This still needs some fixes (see TODOs in MBM.py and elsewhere)

Misc small fixes in various modules.

Yay!!!
Updated mincAverage so that an output file can be specified that overrides default output naming conventions.
Based on these changes, made small modifications to LSQ6 and LSQ12 modules so that:
1) mincAverage doesn't fail
2) dependencies are calculated correctly.
Whoops, forgot to remove errant deubgging print statement in last check-in.
Gah! Another errant debugging print removed.
Small LSQ12 updates:
1) outputXfm and resampled files were erroneously being set as directories. Fail.
2) Default parameters for registration now set based on resolution of input files.
Small bug fix with calling of LSQ12 in HierarchicalMinctracc class. (Stupid naming choice!)
Updated applications to explicitly use self.outputDir, which is set in AbstractApplication, prior to when run() is called.
* Modified _setup_directories() to include underscore at beginning of name. Function now explicitly called, rather than called in _setup_pipeline()
* self.outputDir now explicitly used in: LSQ12.py, LSQ6.py, MBM.py, NLIN.py, twolevel_model_building.py
* removed setup_backupDir function from MBM.py that was never used. (Likely from earlier iteration)
Updated NLIN.py to use getFinestResolution function.
General clean-up and code improvements:
* Updated xfmConcat so that the logFile argument is optional.
* All calls to xfmconcat now use xfmConcat atom. (Changes mostly in minc_modules and stats_tools.)
* Removed now superfluous concatXfm function from minc_modules.py
* Cleaned up resampleToCommon.
* Removed unused import statements in minc_modules.py
* Minor bug fix in LSQ12ANTSNlin
Two more minor changes:
* Changed name of options in NLIN group to the more general --target-avg and --target-mask
* Updated name of minctracc_example_protocol.csv to minctracc_example_nlin_protocol.csv for clarity