[SPARK-3198] [SQL] Remove the TreeNode.id

Thus id property of the TreeNode API does save time in a faster way to compare 2 TreeNodes, it is kind of performance bottleneck during the expression object creation in a multi-threading env (because of the memory barrier). 
Fortunately, the tree node comparison only happen once in master, so even we remove it, the entire performance will not be affected.
Hm, I see.  I think in this case I'd prefer to be a little more verbose.  A general rule is that you should only use implicit conversions to extend functionality, but never to perform subtle type conversions.  These can lead to really confusing errors when things go wrong.  You might be safe here, but I've used implicits many times counter to this rule and I almost always end up regretting it.