PERF: Do not spawn threads that will not be used.

Update the ImageSource base class, to not spawn threads that will not
be used. Previously, threads were spawned and then terminated in the
ThreaderCallback method. This method was not user overindulge, so no
compatibility issues should be created.

I have observed up to 100X performance improvement for processing an
image of 1 pixel :)

Change-Id: Ie2d21886e175b5fbee0ce20f0628c97020d8d9e2
ENH: ImageIO's now use ImageRegionSplitter base

Moved ImageIORegion to Common module. Added GetModifiable methods.

Added methods to ImageRegionSplitterBase for ImageIORegion objects.

Refactored ImageIOBase to use the default ImageRegionSplitterBase
method for streaming IO.

Change-Id: I0c07db23824d65086a64b76dbecbe01137fa78a2
ENH: Add double-conversion library for precise Float output

double-conversion is a library from (or at least hosted by) Google.

https://code.google.com/p/double-conversion/

Double-conversions advantage is that when it converts a floating
point number to a string, it uses the minimum length string representation
that when converted back into a floating point number, the new FP
number is bit-identical to the original.

Change-Id: I308d91a0f8ec6ca2d5d07c0a7b691b44c8fedc7c
STYLE: Add more detail to the vxl update instructions

State explicitly that the upstream extraction script should be run in an
outside tree and the results moved into the temporary directory for
commit of a new upstream snapshot.

Change-Id: I1a9742a9154c8d45bb7bb530cd16e42687268a43
Merge topic 'AddDoubleConversion'

8a2205a ENH: Add double-conversion library for precise Float output
Merge topic 'ConsolidateSplitting_PerfThread'

0e9112f PERF: Do not spawn threads that will not be used.
Merge topic 'ConsolidateSplitting_IO'

defb9c1 ENH: ImageIO's now use ImageRegionSplitter base
COMP: Specify export for Specialized Array output operators

Change-Id: I436ec75abe86ad6f2956b9b883ee7c548e9c017e
Merge topic 'SpecializedTemplateVisibility'

ab363d0 COMP: Specify export for Specialized Array output operators
Merge topic 'vxl-update-instructions'

e245f0b STYLE: Add more detail to the vxl update instructions
ENH: making old ImageRegionSplitter compatible with new splitter

Derive ImageRegionSplitter from new ImageRegionSplitterBase.

Make new templess methods call old templeted methods of
ImageRegionSplitter so that the old splitters could be used where the
new interface is expected.

Update StreamingImageFilter to take the use the new
ImageRegionSplitterBase.

Change-Id: I392c9221e6f91d685f366ce9405fb98040b24b66
BUG: initials Direction IVAR

Addressing uninitialized variable condition.

Change-Id: Ifa5e12cb07b5deab31f6d211e7c9803044ad67a9
STYLE: never a space before;

This addresses the following  style error:
ITK/Modules/Core/QuadEdgeMesh/include/itkQuadEdgeMesh.hxx
Error #7 (1105) Number of spaces before semicolon exceed: 1 (max=0)

Change-Id: I18198a97d4a09f8f299ea67d6eb733f984b47786
Merge topic 'FixSillySemiColonStyle'

af93945 STYLE: never a space before;
Merge topic 'FixSplitterDirectionUninitVar'

1c25bca BUG: initials Direction IVAR
COMP: Address unused parameter warning in GPU code

Change-Id: Ie2489e7708a06fe4eb46577a2b3e91f137c32ca1
Merge topic 'ConsolidateImageRegionSplittingp1'

d84ddc8 ENH: making old ImageRegionSplitter compatible with new splitter
COMP: Avoid explicit instantiation and specialization for Array.

Change-Id: I2ccdde6f4adb8d1213a75d457022437a450fc52f
Merge topic 'RemoveArrayExplicitInstantiation'

26ab043 COMP: Avoid explicit instantiation and specialization for Array.
Merge topic 'FixUnusedVariable'

2b4ec4d COMP: Address unused parameter warning in GPU code