Adding porous-related files
Starting unifying field with blobs
Moving motile position init method to walls
Giving walls more motile-position methods
Now have core files to run porous & field
More or less complete rewrite

Main changes are using a yaml parameter file, and avoiding duplication of immutable parameters through more oo-stuff.

Now have an environment object responsible for the time-step, dimension etc., all other objects use this timestep rather than having their own copy.
Ignoring all params files except prototype
See previous commit
Changing buffer to fractional rather than absolute
Changing params fname input source to command line
Adding vicsek
Adding interacts-based collision function
Adding fortran-style cell list compatible vicsek function
Progressing towards proper gaussian rotational diffusion in 2D & 3D
Finishing 3d rotational diffusion and moving core funcs to Ciabatta
Little fixes
Adding a TODO
Copy params file to data output path
Moving suffix removal function to utils
Moving motile position init method to Motiles and adding parameter validation