Polynomial time approximation schemes for general multiprocessor job shop scheduling