Detect nil slices and print them as <nil>.

This commit modifies the code to detect nil slices and display them as
<nil> (as opposed to simply empty slices).  For most instances a nil slice
can be treated the same as an empty slice, but there is a difference and
things like reflect.DeepEqual notice.  This change makes it clear whether
the type in question is a nil slice or an empty slice.