(WIP) Replace erlang cookie fact with type and provider

Alternate proposal to #278 
This is a hack so that the create method is never called. It seemed to me like this type should only support changing the value, which may include changing it from no file to file with value in it, and not creation or destruction. There's no destroy method because removing the cookie file breaks rabbitmq, and consequently there didn't seem to be a need for having the inverse method, create.

Still figuring out the best design for this, suggestions welcome.