Introduce new Builder class + LatexmkBuilder

Properly introduces the concept of a builder, directly extracted from the old
`latexmk` module. The old module has been refactored into `LatexmkBuilder`, but
functions exactly the same (besides now needing to be instantialized).