add Option methods for swap_unwrap and map_consume
add Option map_consume_default method
avoid unwrap in Option::map_consume implementation
add Option methods for in-place mutation
Merge pull request #4465 from thestinger/option

improvements to option module