Add STL-like swap function

Hello. This is swap function without allocate/free memories. cf. http://ja.wikibooks.org/wiki/More_C%2B%2B_Idioms/throw_%E3%81%97%E3%81%AA%E3%81%84_swap%28Non-throwing_swap%29

Thank you.