Kernel methods in system identification, machine learning and function estimation: A survey