improved honeypot generation

 - fluent interface mitigation now optional and off by default since most
   modern editors support @return static now

 - special cases such as abstract and final are now correctly handled

The new default generation should produce no errors in the editor and also
make navigation faster (since fluent aliasing would cause errors in the
way declarations were interpreted, ie. the honeypot was interpreted as the
source of the methods declaration instead because it had the @method docs)