STYLE: Consistency of threadID and threadId

Comparing sources within the V4 registration code
was complicated by different use of the spelling
for local variable identifying the thread identifier.

By making this variable the same accross the toolkit,
code comparisons are made simplier and easier to keep
consistent.

Change-Id: I70bbbd2be9116c6c30472a1c93edd0b41d37b6f6
Merge topic 'Make_threadId_UseConsistent'

f32fcec8 STYLE: Consistency of threadID and threadId
WIP: Use cached memory for Jacobian temporaries.

Change-Id: Ia55e5d33a5a2684463bfad985e06e8288a48f89a
PERF: Re-use jacobian rather than instantiation

A temporary jacobian value was always created for
and resized at every iteration of the program call.

This was increadibly in-efficient during registrations
and was the #1 time consuming portion of the code for
many registration examples.

The new function:
ComputeJacobianWithRespectToParametersCachedTemporaries
was created to allow for improved performance.

Change-Id: Ic405b9d26c5fdf3660941372e9bb9814c2792143
PERF: Avoid unnecessary construction of vnl_matrix.

The simplistic math operators for matrix multiplication require
unnecessary construction of temporary matricies in order to
get the math operations completed.  By writing a custom matrix
multiply that includes a stride for the output, we can avoid
an unnecessary copy.

Change-Id: I4249b3e6e2b1efe687b05fac9cdaf568210a9d94