rdd.id(): return id of underlying jrdd

In some cases self._id is not getting set and calls to id() are therefore resulting in an AttributeError. This change fixes that by returning the id of the underlying jrdd instead.
Test case: sc.parallelize([1,2,3]).map(lambda x: x+1).id()