Utility.GetAllFilesRecursively Improvements

Apologies in advance for such minor changes and if I'm missing something obvious, but was there a reason why these don't use the built-in `SearchOption.AllDirectories` functionality, or just an oversight?

Both the previous implementation and these changes return the same results in my testing.

`EnumerateFiles` is used instead of `GetFiles`, to avoid allocating a (potentially large) array and allows enumerating through the results immediately without having to wait for the array to be created, filled, and returned.