added assemble command
Added failing integration test for crane assemble command
having to rework how templates are implemented as we need to pass the project context in to make it reusable not inject it in
simplyfying template class
slowly splitting up template class as its breadking SRP
moved code over to use template invoker, template is now a template and has no logic
just adding the assemble command handler
getting somewhere now just need to sort out why the test is failing.  Its annoying having the context injected in as its hard to test and see where its set
first cut of assemble feature, still doesnt work quite how it should as it requires the foldername and solution name to be the same.  Need to change that to be dynamic