fixes #6402 - use standard success/error handlers in UI controllers

In two controllers (hosts, puppetca), we passed non-string objects to `error` which caused errors trying to escape them (no .to_s was done).  Instead of stringifying them, I've simply updated controllers to more consistently use our process_* error handlers and where they're not used, to not pass HTML in notice strings.

The changes to puppetca_controller simplify it considerably and mean useful error messages now get back to the user (not the old fake AR ones) via Foreman::Exception.
should we change this to the default setting instead of hardcoding 20 ?