Revert "Serializing default property values is not required"

This reverts commit dcba7c6e16e2599faa0462d2d399ab3bbba060ff.

Conflicts:
	src/Instantiator/Instantiator.php
Serializing the default value of a property even when it's not being set
Introducing an asset extending `ArrayObject`, since `Phar` is internally always un-serialized
Using the `InstantiatorTestAsset\ArrayObjectAsset` instead of the `PharAsset` in tests
Cleaning up code and avoiding hacks using `eval()` for instantiation of internal classes

Also adding constants for the serialization format, as well as comments to clarify about operations being applied
Removing unused private `$internalSerializableClasses`
Removing abbreviation
Removing unused `isInternalClassWithRequiredSerializedString` method
Introducing `Instantiator\Exception\ExceptionInterface`
Introducing `Instantiator\Exception\InvalidArgumentException`
Introducing `Instantiator\Exception\InvalidArgumentException#fromSerializationTriggeredException()`
Speccing out `Instantiator\Exception\InvalidArgumentException`
`Instantiator\Exception\InvalidArgumentException#fromSerializationTriggeredException` should not throw, but return
Splitting tests for PHP 5.4.29 and 5.5.13 into two sections
Using the data provider to split tested classes depending on PHP version
Verifying feasibility of instantiation of classes via unserialization before returning a factory
Specification for exceptions produced by non-existing classes
Adding simple trait to the assets
Traits should also be handled by the `Instantiator\Exception\InvalidArgumentException`
Interfaces should also be handled by the `Instantiator\Exception\InvalidArgumentException`