Option::and is not as polymorphic as it can be
make Option::and fully polymorphic
auto merge of #9773 : micahjohnston/rust/master, r=alexcrichton

Option::and currently requires optb to contain the same type as self. Option::and_then demonstrates that this is unnecessary, since the function will either return None or optb.