Add intellij files to .gitignore
Update gradle and fetch sources
Update mason
Add easier to use portrayals
Add some base classes for the simulation (WIP)
Add basic collision detection to AgentObject

* All agents now round with radius
* Agents just stop when they've hit something
Rework objects
Add physics engine
Merge branch 'mason-base' of github.com:JayH5/hons-simulator into mason-base

Conflicts:
	mason
Merge branch 'master' into mason-base
Switch to Physics2D, add walls
Added what is probably a set of half-broken files relating to the physics simulator/agent interface re-architecture; I honestly can't even remember why these are not in my previous commit
Clean up after Borysov the clown
Add SensorEngine (WIP)

* `Phenotype`s now provide a list of sensor *descriptions*
* A `SensorDescription` has a bunch of fields common to all sensor types
* Sensors can filter by *tag*. Tags are arbitrary Strings attached to
  `Taggable` objects.
* All our subclasses of `PhysicalObject2D` implement `Taggable`.
* `SensorReading`s are now wrappers around lists of doubles.
* `SensorEngine` is partly implemented but not actually created anywhere
  yet. The objects sensed still need to be converted into a signal
  output. The `sense()` method needs to be called from somewhere.
* Some stuff cleaned up and moved into `Utils`.
Cleaned up some stuff re recent re-architecture
Second attempt at this Sensor stuff (WIP - UNTESTED)

* Move Sensor logic to Sensor itself, remove SensorEngine
* Use new parameters for specifying sensor config (bearing, orientation)
* Use new algorithm for detecting nearby objects to make it possible to
  detect objects that are partially within the FoV
* Collect extra information with detected objects (distance from sensor,
  span object takes up within field
* Sort objects by distance from sensor
* Standardise on [-PI, PI] as normal range of orientations
Finished Simulation initialisation re-architecture. It now expects a RobotFactory and a SimConfig. Extracted some of the constants to SimConfig.
Merge remote-tracking branch 'origin/sensor-engine'

Conflicts:
	src/main/java/za/redbridge/simulator/Simulation.java
	src/main/java/za/redbridge/simulator/object/RobotObject.java