Fix shadow warnings

Some simple fixes which accumulated while playing around. The most controversial would be dcc0bb005e1ca20253c437dd16709327eb60d339

In 61b4abdefcfe24c6e39277789bfef46a7797d0a3 the default constructor still does zero-initialization -- instead of NaN as discussed on the ML.
Why should it be kept? Whats the purpose of storing the name when the string is saying it all?