Defining schemas, fields and field types

Initial interface implementation of:
- IObject - everything in Atomic is inheritable from IObject
- ISchema - defines a schema, structured by it's collection of fields
- IField - defines a field that can be as part of a schema
- IFieldType - defines a type of field