Added support to skip a handler

Once a handler throws a SkipStepException, this handler will be ignored and the GraphNavigation will try to reach an another one.
Ex: if the user implements a JSON Handler to some special operation, and want to disable in somepoint, just need to throw a SkipStepException and the GraphNavigator will reach the default JSON handler

use \PhpOption\None;

class IcJsonHandler implements SubscribingHandlerInterface
{
    public static function getSubscribingMethods()
    {
        return array(
            array(
                'direction' => GraphNavigator::DIRECTION_SERIALIZATION,
                'format' => 'json',
                'type' => 'My\Interface',
                'method' => 'serializeProxy',
            ),
        );
    }

    public function serializeProxy(JsonSerializationVisitor $visitor, $entity, array $type, Context $context)
    {
        $skipHandler = $context->attributes->get('my_special_skip_attribute');

        if ($visitor->getRoot() === null || ($skipHandler instanceof None === false) {
            throw new SkipStepException('Skip This');
        }

        return array(/*MySpecial Operation*/);
    }
}