fix Issue 13809 - dup no longer works with types with postblit and destructors

- nested function literal is also assumed to be pure
  therefor the compiler complains about an impure destructor

- move the typeof to a separate _PostBlitType template
  as we only use it to get the postblit attributes