Update solvers.f90

(1) Boundary conditions were not correctly accounting for time.
(2) Adjusted all arrays to be of parameter length `nx`
(3) Eliminated array slices in solvers.crank due to possible array copying