[4.1] Small Random Improvements

**This change does not alter the random algorithms in any way unlike #4186.**

I've fixed the errors introduced in laravel 4.1.28 whenever the `validMac` function was called on `Illuminate\Encryption\Encrypter` causing: `You need to specify a file path to store the seed`.

I've changed the function calls to the random method to always call the string class on suggestion by @barryvdh to ensure we are definitely calling the correct random methods.

I've improved the symfony security dependency so we only require what we actually need and added a few tests to check the generated strings are ok too.

---
Replaces #4175 and #4186. Related to #4130. Fixes #4182 and laravel/laravel#2849.