in the temperature solver, enforce the phase boundary

this means that phase changes are solely under the control of the level set,
which adheres to latent heat
streamline tsolve code
function to finding the front location (1D) and removed the mixed fluid phase function
stub function for analytical comparison test
tsolve set up for 2D problems
refactor heat equation, type definitions

heat equation machinery in a seperate module
model types in a seperate module
dirichlet boundaries fro assemble_mat <- ModelState2d
start a gradT function, unicode names