Support GCC 4.8.1
Generalize copy/move construction/assignment of Union
Construction from subtype
Fix style and documentation
Change for generalizing copy assignment
typo