Changed TNoConstructObject, TNoPublicConstructObject and TNoPublicConstructIntfObject constructors to raise ENoConstructException exceptions instead of assertion failures.
This was done because it is standard practice (and used by VCL) and it also enables unit tests that expect these exceptions to be passed.