Generate files asyncronously

Summary:
Changes classes to be final, and moves Async generation to FileGenerator.

File generation speed improved from 22 seconds to 3 seconds

Test Plan: mvn compile, look at generated times

Reviewers: nitro, jd, kt

Reviewed By: kt

Subscribers: eng

Differential Revision: http://phabricator.scale-data.com/D1031