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"))).
Merge pull request #103 from tkrajacic/master

This is good. Merging.(prevent use of init with LLVM extension)