table join implementations (via http://garysieling.com/blog/six-join-implementations-in-javascript)