make sure compile paths shares as much code as possible

Description

Issue http://dev.clojure.org/jira/browse/CLJ-697 highlighted the fact that compilation has more than one entry point. Review these entry points and make them share code.

Environment

None

Assignee

Unassigned

Reporter

Stuart Halloway

Priority

Minor

Affects versions