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.
```SmartProxy.with_features("BMC").joins(:subnets)``` translates into
```sql
SELECT `smart_proxies`.* FROM `smart_proxies` 
  INNER JOIN `features_smart_proxies` ON `features_smart_proxies`.`smart_proxy_id` = `smart_proxies`.`id` 
  INNER JOIN `features` ON `features`.`id` = `features_smart_proxies`.`feature_id` 
  INNER JOIN `subnets` ON `subnets`.`dhcp_id` = `smart_proxies`.`id`
WHERE `features`.`name` IN ('BMC')
```
Aren't we implicitly checking dhcp_id = subnet_id in that call?