Add support for initial constructor arguments

Roles with attributes or other arguments required at construction need a way to specify those arguments in consumer_of(). This patch adds support for that by checking if the second argument is an arrayref, and if so passing its contents to the instance's new() method if it exists.