rename chef_object to chef_object_base
add and sort exports for chef_object_base
chef_node: implement chef_object behaviour
add chef_object behaviour
Test cleanup for chef_node new_record
Output coverage summary to console when running tests
Git ignore the .bundle dir
Dialyzer fixes for chef_object_base

These are needed as part of removing the node specific fun heads
Implement chef_object behavior for chef_role
Fix test chef_role test variable names ("node" => "role")
Implement chef_object behavior for chef_client
Implement chef_object behaviour for chef_environment
Implement chef_object behavior for chef_data_bag
Implement chef_object behavior for chef_user
Implement chef_object behaviour for chef_data_bag_item
Implement chef_object behavior for chef_cookbook
Add more callback for chef_role

authz_id, ejson_for_indexing, org_id, update_from_ejson
Rename chef_cookbook module to chef_cookbook_version

Both cookbook and cookbook_version concepts exist as Chef objects,
where a cookbook is essentially just a name that groups together
cookbook_versions. The chef_cookbook module was really about dealing
with cookbook_version objects and we have made it even more so in
adding the chef_object behavior as it creates and accesses
#chef_cookbook_version{} records. So we've renamed it.

Note that there *is* a concept of just a chef_cookbook and the way to
think about it is:

   chef_cookbook:chef_cookbook_version ::   chef_data_bag:chef_data_bag_item
Add set_created, set_updated to chef_role
add type dispatch functions to chef_object