Rewrite clean function since it was misbehaving and deleting files

This attempts to resolve a problem with `python build_system/setup.py --clean` in nupic repo.  This was causing .vcproj files in `build_system/buildgen_files/templates/` to be deleted despite the `build_system` directory being in the ignored list in setup.py.

So please first validate that you see the same behavior with `--clean`.

I attempted to debug the old clean implementation that used the `walk` Python function and it appeared to be implemented correctly but the behavior was very odd.  I just rewrote it as a recursive function that is more explicit rather than relying on the top-down walk behavior.