Austin,
Thanks for the correction.
Paul,
It looks like the scan_devices method is indeed used by the DeviceTracker to retrieve status from the DeviceScanner. In fact, that and get_device_name are the only methods that are called by the DeviceTracker. The module level function get_scanner is also called to create your device scanner.
Self indeed will be the DeviceScanner and it appears that there is no direct way to go back up to the DeviceTracker as its instance is never given to the scanner and is not stored as a global constant anywhere. It does, however, create a service call inside of Home Assistant that you could use to force a reload. Something like this should do the trick (or be kinda close):
# at the top of your code
from homeassistant.components.tracker import SERVICE_DEVICE_TRACKER_RELOAD
# where you want to force a reload
hass.services.call(SERVICE_DEVICE_TRACKER_RELOAD)
This doesn't fully solve your problem as your scanner still doesn't know what it is tracking. However, it doesn't necessarily have to care. When devices report their home or away status to your scanner, they could report their name and their state. You then store this data indiscriminately in your device scanner and return the list of devices that have reported a home status to you. This, however, will lead to an issue that when you restart Home Assistant, your object will "forget" devices that have not yet reported in.
Another option would be to have your DeviceScanner read the known devices file for itself and then know the names it is looking for. You could assume either home or away when Home Assistant starts.
A third option (sorry for rambliness of this email) would be to save a file in the config directory that indicates each devices last known state. This could compliment either of the options above.
Basically, the biggest obstacle with Home Assistant tracking devices manually like this is that when it is off, it doesn't know what happened. The current device trackers can rely on physical states that they can poll and check. You wouldn't have that luxury. It is certainly not a dead end, just an obstacle.
At some point in the future (although it is lower on my list) I want to implement an MQTT component that would allow Home Assistant to communicate with a nifty app called OwnTracks to receive not only home/away indicators, but also exact locations. Then maybe put a map on the frontend showing device locations. It might be a bigger undertaking than what you are doing, I'm not entirely sure, but if you want to steal that idea and try it yourself, I would not be the slightest bit offended.
Sorry, that was a lot of rambling. I hope it all made sense.