ENH: Split segmentation algorithm code from the application

I put all the segmentation algorithm code in a separate file,
AirwaySegmenter.hxx, so it can be called from other applications.
ENH: Separate command line parsing from the actual algorithm code
ENH: Put algorithm into function that takes an input and output image

This separates the algorithm from reading and writing of files by the
standalone program.
STYLE: Removed trailing whitespace
DOC: Fixed a comment
STYLE: Cleaned up function signatures and added some comments
STYLE: Added comment separators before functions

Also, removed unused parameters.
ENH: Removed unused variables from XML description
Added lots of try-catch blocks around filter updates

Some exceptions could be thrown that weren't caught, which could
lead to a crash.

Removed some redundant writing of the final image.
AirwaySegmenter::Execute() returns automatically determined threshold as output parameter

This is needed for applications that need to know what the
automatically determined threshold is. This also enabled moving the
surface writer out of the Execute() method where it didn't really
belong.
Converted tabs to spaces