Reservoir Computing: Theory, Physical Implementations, and Applications