random: added a random driver interface

how should this be designed?

I see this PR as a discussion forum for this long standing discussion
this is the interface for "true" randomness. In case a board does not have a source of "true" randomness it can't implement this API.

An application using this API will become dependent on such a hardware...(It will not work on other devices)