Set: implement using a Dict{K,Nothing} instead of Dict{K,Bool}.

This is Jeff's brilliant idea: since we store Array{Nothing} using
zero space because there's only one possible Nothing value, this is
a way to use the Dict implementation for sets without wasting space
storing the array of values.