Artifcial molecular motors and machines: design, principles, and prototype systems