fix to pass the first spec
add a comment to clarify the reason why save binding
change api

Now a module extending Metamorphose need to implement metamorphose_piece

then Metamorphose#metamorphose_source produces _metamorphose_piece instead of metamorphose_piece

By doing that, Metamorphose#_metamorphose_piece can return its wrapping value assuredly