Keyname validation added

A user was able to use reserved key names and interfere with the default behaviour. 
For example:
```
required do
  string :run # Causes it to not call run but instead retrieve @inputs[:run]
end
```
Proposed solution:
In create_attr_methods: Raise an exception if keyname interferes with existing function name.