On the topic of resume building though, while I haven't had the need for making one in a long time I have this idea I just want to throw out there.
Just make like an HTML page with every possible detail about your history. Then, in e.g. Chrome, you can easily hide the different sections/words that isn't related to the specific job you're applying for. Then print as PDF. Seems like it would be easy to maintain and "generate" the resumes per application.