Prevent init being called using an LLVM extension.

Instead of failing an assertion in the init method, a call to init can be prevented using __attribute__((unavailable("message to the developer"))).