Create a channel with the given capacity and
semaphore implementations instantiated from the supplied class
exception: IllegalArgumentException - if capacity less or equal to zero. exception: NoSuchMethodException - If class does not have constructor that intializes permits exception: SecurityException - if constructor information not accessible exception: InstantiationException - if semaphore class is abstract exception: IllegalAccessException - if constructor cannot be called exception: InvocationTargetException - if semaphore constructor throws anexception