Better method signatures for Routing.

Also, addExtensions() already array_unique()s it. No need to do that twice then.

Refs https://github.com/cakephp/cakephp/pull/3802
If I see it correctly, `parseExtensions()` could just become;

    $collection = static::$_collection;
    return $collection->extensions($extensions, $merge);

Also the signature / PhpDoc misses `|null` for the first parameter