Ensure that attributes added with setters don't overwrite subroutines

It is still possible to do so, this just makes the most common use case
a little bit safer.
Use Class::Inspector instead of listing methods directly
Merge pull request #15 from davidlmorton/attributes

Ensure that attributes added with setters don't overwrite subroutines