Allow custom inputs to define their own failure modes

Now a custom input class can decide whether it is importable, and if it's importable? method returns false, then the import will not run.