Add Vector#flat_map

Previously, Vector inherited this method from ::Enumerable, but it returned an
Array instead of a new Vector.
Use new literal notation for Lists in method usage examples

The existing examples in List were added a long time ago, before Lists got their
own printable representation, distinct from that for Arrays. Now they have been
updated to reflect the new printed representation for Lists.
Corrected wrong type annotation for List[]
Code examples for List[], List#cons, #<<, #flat_map, #take_while
Added note on efficiency of List#<<
Minor edit to docstring for Vector#update_in
Minor edit to docstring for Hash#update_in