Enable calling ref() on mock object to return a specified type

 - Added use of UNIVERSAL::ref in Test::Magpie::Mock and a ref() method that would return a custom ref value.
 - The ref value comes from a new attribute 'class' which is assigned the value that is passed to mock().
 - The existing isa and does methods interfered with UNIVERSAL::ref, so added a conditional check in them to handle that.
 - Added tests for ref, isa and does.