Implement Option::take()

Implement Option::take() that replaces the value with None, and returns the Option value as it was.

As mentioned in issue #7764