Provisional implementation of object appending via bind/new

In Brian Hawley's proposal, appending to an `object!` employs three
passes:

1. Verify the `block!` argument
2. Add any absent words to the target `object!` with `bind/new`
3. Update values for each word, favouring the latest, using `set/any`

In this commit, (2) and (3) are merged.
Account for hidden words when appending to an object

The current implementation fails to check for hidden words in the target
object before appending additional frames.

Replace the `Bind_Word` logic with a single `Find_Word_Index` call to
correct this behaviour.
Backout early when object append attempts to set a protected word