Add primitive type names to name completion

This is necessary because these are treated specially by the parser and are
thus not in the global definition context, from which name completion is
drawn.

Fixes #304.