Knot invariants and higher representation theory I: diagrammatic and geometric categorification of tensor products