Here is a set of node groups I created for the Cycles Render Engine that can randomly assign textures to any objects using the single material these node groups are in, as well as randomly change vector coordinates, color values like Hue, Saturation, and Value, and things like Roughness in a Glossy shader. This can help a lot in creating things like wood and stone floors from scratch, but also things like randomizing leaves on a tree, baking textures for games, creating custom brickwork on a building and many other things. Some of the nodes also work very well as a way of randomizing texture coordinates for things like Masks so that not every object is using the same part of the texture, even though they may be using the same material.
For the random texture assigning aspect, they basically give functionality like this 3ds Max plugin: https://cg-source.com/multitexture.php
Although attribution for the node groups would be nice, if you are unable to attribute me for them, don't worry about it. I'm just glad you'll be able to use them! One nice thing if you are able to though is that other people will be able to find out about them and use them too.
Lastly, here is the link to my Blenderartists.org post if you would like to learn a little more about them, and see some of the things that people have made with that 3ds Max plugin I mentioned that some of these nodes give the same functionality as: https://blenderartists.org/t/functionality-similar-to-the-3ds-max-plug-in-multitexture-map/630277/1
Edit 2/2019: The Blend file has been updated again with better explanations for all the node groups, as well as a few new nodes to play with, and a reworking of some of the old nodes to work better. To give credit where it's due, the new method used to assign textures randomly comes from this post here: https://blender.stackexchange.com/questions/15076/what-is-the-easiest-way-to-have-a-material-randomize-the-image-textures-it-uses