Enh: Allow all-slice in named property

This extends the behavior of named properties to accept an "all-slice" when getting and setting by index. The all-slice has the same meaning as the empty tuple; the user is passing no optional parameters. e.g. `obj.prop[:]` and `obj.prop[:] = value` work like `obj.prop[()]` and `obj.prop[()] = value`.