Migrated all synchronisation of Functions to Kryo, via extending the KryoSerializable interface in the Initialisable interface, rather than using the serialiser utility.  This also requires many private no-arg constructors, as these are accessible via reflection, thereby allowing for deserialisation.

(I have no idea how this all worked before, as everything serialsable via Java serialisation failed during debugging)