Add `prop:object-name`.

This adds `prop:object-name`, as discussed [on the users list](http://lists.racket-lang.org/users/archive/2014-April/062300.html). 

This patch makes two design decisions that could be change:
 * the object-name is a constant per structure type, rather than an index into the structure, or a procedure, or something else.
 * the object-name is not required to be a symbol, which all structure object-names currently are.

I think the second change is a benefit -- many "built-in" values have object-names which are not symbols, and user structures should have the same ability.