[SPARK-2189][SQL] Adds unregisterTempTable API

This PR adds an API for unregistering temporary tables. If a temporary table has been cached before, user can unpersist it as well.
Why have an option to leave the data around after a table has been dropped?  Also what about "DROP [TEMPORARY?] TABLE"?