Fix #719 by adding build_py config generation

As discussed in #719 (by @iguananaut and @astrofrog), this adds a custom `build_py` in addition to the existing custom `build_ext`. It generates the default configuration file, which previous was only generated in `build_ext'` presenting problems for affiliated packages that were pure python (as `build_ext` never gets run).

While I experimented a little with trying to cleverly decide which of `build_py` and `build_ext` should do the build, I settled on the safest approach being this one, where both do the build.  Whichever goes last actually generates the final one that is used, but this is presumably the behavior we want.  Just note that there's a second or two of waste here, as they are both doing the build, possibly unnecessarily.

@astrofrog, can you confirm this works for the original problem from #719 ? That is, if you use this, do affiliated packages actually get their default config files now?