Allow setting resource_name programatically

Previously this was marked as an internal API, but I am making it public. We are reliably using this API in our LHWRPs in Release Engineering and it is truly a delightful experience.

This deprecates using `resource_name = :foo` in favor of the more "Chef-like" `resource_name(:foo)`.

/cc @opscode/client-eng @opscode/release-engineers 
So would you just `alias_method :resource_name=, :resource_name`? And then hope people don't call `resource_name=` without arguments? It seems silly to have two methods that do the same thing.