don't force arg count in has and hasNot

I'm not sure what exactly the point of the null object replacement is, but blueprints supports a `has(string)` method which wasn't invoking due to has and hasNot forcing 2-3 arguments.

Perhaps this isn't correct, let me know.