Make annotations really be strings, just special ones.

This was actually my original approach on this, but I couldn't get it to work yesterday because I made a foolish mistake.

I had accidentally typed the private property's name to be `entry` rather than `_entry` -- which threw an error indicating that that property could not be set.  I took this to be a side-effect of the fact that strings do not have a `__dict__`, and arbitrary attributes cannot be added (which is true for bare strings -- but subclasses *should* be immune).  As it turns out, it was just a name collision with an actual read-only `@property` named `entry` that I had added to the class.  Derp.