Is the implementation relation between an interface and a class an instantiation or inheritance relation, or neither?
From notes I have from university, here is an explanation I found useful that may help


  An interface, or protocol as it is sometimes called, is a device that is used to allow unrelated objects to interact with one another, by implementing an agreed upon system of behavior. When a class implements an interface, the class agrees to implement all of the methods defined in the interface. Interfaces are useful since they capture similiarity between unrelated objects without forcing a class relationship.


The important line is the bottom, there is no class relationship between classes that impliment an interface. You cant view it in the same way you would with instances of classes and abstract classes. These give a direct relation in terms of object type and subtype.  It is not a guarantee of relation between objects but instead a guarantee of functionality. 

To your bullets I would say; Neither, not really, and it is not really like either metaclass or abstract class at all.