Residual Scheduling: A New Reinforcement Learning Approach to Solving Job Shop Scheduling Problem