[fix] using pipe separation to filter routes does not work on nested filtered routes

Fix for issue #1697, as outlined in the issue comments.

The `setBeforeFilters` method of `Illuminate\Routing\Route` only exploded pipe-separated filter strings if the value passed in was a string. If it was an array of strings, it would leave the array as is, without exploding them.

If multiple levels of a nested route group have filters on them, they are sent as to this function as an array of strings, that should be pipe separable.