Create (copy) ctors for all value-semantic classes, also pass const&

- Classes which rely on default implementations of the constructor and
  copy constructor now have these default ones exposed.
- Non-POD types are now internally passed as const& on invocation.