Fixes #6518 - lookup the bmc smartproxy via subnets.id

This fixes 6518, by picking the smartproxy to use via subnet_id.  Before it was trying to find a dhcp_id or tftp_id that matched the subnet_id, but since it's a subnet id it really should be comparing subnets.id.

I'm not sure how it was working most of the time before, but with this change it works all of the time.
dhcp_id and tftp_id seem to be set to the smart_proxies.id value, not the subnets.id value.  The subnet_id var is set to a valid subnets.id value and doesn't match any smart_proxies.id values.