Allow iniface and outiface for custom chains

This allows iniface and outiface to be applied to custom chains, not just INPUT/FORWARD/PREROUTING/POSTROUTING/OUTPUT chains.  This is done by checking for not being in the other chains.  It is up to the user of these types to ensure the parameters are used with the appropriate chains.