Use strategies to handle archiver formats
Move archive classes to their own directory
Make git exe an optional dependency for archive strategies