OCCI Core rewrite

- [x] Merged existing pull request gwdg/rOCCI#79
- [x] improved attribute handling
  - merged attribute classes
  - one central attribute collection class called Occi::Core::Attributes
  - Attributes themselves are of the corresponding Class e.g. String, FixNum, FalseClass, TrueClass, NilClass
  - Properties are handled in their own class
  - An attribute collection can either hold properties or attribute instances
  - An attribute collection can be converted from properties to an empty collection of attribute instances (nil elements). The properties are accessible through the same attribute name with an additional underscore (e.g. occi.core._id)
- [x] updated all Occi classes to use new attribute classes
- [x] introduced a new helper class for rendering Occi objects to JSON for inspect
- [x] Action handling fixed by revising the action class describing the action and the action instance holding attributes to execute the action. This resolves gwdg/rOCCI#22 and gwdg/rOCCI#24
- [x] adding and removing Mixins now adds and removes attribute definitions from entity
- [x] Interoperability fixes have been implemented to solve compatibility issues in the Text Parser. This fixes gwdg/rOCCI#78
- [x] Introduced a new class for handling YAML based setting files. This resolves gwdg/rOCCI#46
  - settings can be added to config/occi.yaml and can be overwritten by a file named .occi in the users home directory
- [x] Added a settings for a compatibility mode to handle all compatibility issues with known OCCI implementations (default: on). This resolves gwdg/rOCCI#7
- [x] Added a setting for verifying attributes against their pattern definition (default: off)
- [x] cleaned up gemspec
- [ ] get_class must be fixed
  - replace all characters which are not [a-z] and [0-9] with UTF-8 character names
  - Implement changes to OCCI Core document (e.g. parent …)
- [ ] fix existing spec tests and add new tests for new classes