Discovery plugin

These are the required changes to Foreman core for the discovery plugin (so far). Hopefully each commit has enough explanation as to why it was needed, but broadly we have:

1) Changes to the STI models so Host::Discovered can inherit the right methods
2) Changes to the Hosts edit form so we can render it from another Controller
3) Setting the STI type in #update

@ohadlevy I cannot get becomes() to work right, so I've commented it for now. We can revisit when Rails 3.2 is merged