Added a brief class description
Added functools.update_wrapper approach to preserve function metadata.
Renamed file to class_or_instance.py
Added test for class_or_instance
Changed import in init file as per rename
made minor fix regarding whitespace in docstring assert