Utils.misc: Added memoised function decorator
Utils.misc: Added memoised function decorator

This allows the return value of a function to be cached so that
when it is called in the future the function does not need to
run.

Borrowed from: https://github.com/ARM-software/devlib

bathepawan/workload-automation,jimboatarm/workload-automation,ep1cman/workload-automation,ep1cman/workload-automation,bjackman/workload-automation,bjackman/workload-automation,bathepawan/workload-automation,ep1cman/workload-automation,bathepawan/workload-automation,jimboatarm/workload-automation,Sticklyman1936/workload-automation,bjackman/workload-automation,Sticklyman1936/workload-automation,bjackman/workload-automation,Sticklyman1936/workload-automation,ep1cman/workload-automation,ep1cman/workload-automation,bjackman/workload-automation,bathepawan/workload-automation,jimboatarm/workload-automation,bathepawan/workload-automation,jimboatarm/workload-automation,jimboatarm/workload-automation,Sticklyman1936/workload-automation,ep1cman/workload-automation,bjackman/workload-automation,bathepawan/workload-automation,Sticklyman1936/workload-automation,Sticklyman1936/workload-automation,jimboatarm/workload-automation