Refine logic of using c++11 nullptr

Compliant c++11 versions of functional should accept nullptr for
assignment. The logic is to use the nullptr keyword when it's
available and the functional header is not in tr1. This addresses the
issue with MSVC using the same header for tr1 and c++11 functional.

Change-Id: If9f7e0b3d13e1498b4676fad94b1f6960a3e9f47
Merge topic 'SIMPLEITK-555_RefactorTransformWithSpecifcObjects' into next

5436730e Refine logic of using c++11 nullptr