How to auto start/stop tether if wifi is unavailable/available?
You can do so e.g. with Tasker, adapting the Wifi Tether Profile described in the Tasker Wiki -- provided your phone is rooted:

Requirements


rooted device
Tasker
Locale Execute Plug-In (no longer available -- but most likely no longer needed, either)
Wireless Tether for Root Users


Tasker-Tasks


Tether-On:
Plugin -> Execute Script -> Run Shell /data/data/android.tether/tether start 1, check "Use Root"
(with the Locale Execute Plugin, prefix the command with an ! to mark it as "root command")
Tether-Off:
Plugin -> Execute Script -> Run Shell /data/data/android.tether/tether stop 1
(with the Locale Execute Plugin, prefix the command with an ! to mark it as "root command")


Tasker-Profiles

You now can attach these tasks to any condition, such as e.g. "Wifi Near" with your networks name. You can also add things like "Wifi On" / "Wifi off" to above tasks to customize.

Detailed descriptions can be found in the linked Wiki.