fix "watch" bug

Thanks for sharing this!

I updated the validate_int_arg wrapper to return the value from the function being wrapped.  Other things to watch out for is that that wrapper can sometimes return a None and I am not sure that the rest of the code is safe for that.  

Was causing a bug on commands like 'watch tv 4'
```
What would you like to do? watch tv 4
You watch tv
Traceback (most recent call last):
  File "sdabto.py", line 688, in <module>
    main()
  File "sdabto.py", line 685, in main
    Sdabto_Cmd(Character()).cmdloop()
  File "/Library/Frameworks/Python.framework/Versions/3.4/lib/python3.4/cmd.py", line 138, in cmdloop
    stop = self.onecmd(line)
  File "/Library/Frameworks/Python.framework/Versions/3.4/lib/python3.4/cmd.py", line 217, in onecmd
    return func(arg)
  File "sdabto.py", line 681, in do_watch
    for message in messages:
TypeError: 'NoneType' object is not iterable
```