fix service handling

1. Private service does not work. Public service also does not work when specifying a private folder. `PythonService` seems to always look in the public folder, and the handling in `build.py` was poor anyway (e.g. always using private dir, without even checking for a private/service dir). I suppose it could check both directories, but until `build.py` passes that information to the `PythonService` class or `PythonService` itself checks both locations it wouldn't really matter.
2. Service flag does not get set if there is no `main.py`, however, `main.pyo` should be valid as well.