Improve slap.py

I am not sure why but many new scripters base their first one off of this.
So in an attempt to stop terrible habits I cleaned it up.

- Be compat with both Python 2 and Python 3
- Proper error handling
- Add help info
- Proper string formatting
- Return EAT_ALL
- Consistent syntax