https://github.com/numenta/nupic/wiki/Python-Style-Guide#executables

I think the reason for a convention like this is that people commonly do not set the executable bit because they always invoke via the `python` binary but then bad things happen.  For instance, nose required an extra flag or it would ignore tests that did not have the executable bits set.  People would add a test and think it was being run when it wasn't.  Similarly, git hooks will not be run if they aren't executable directly.  So it is safer to just enforce that all scripts have the executable bit set.