Introduce Lotus::Utils::Property

I see this all over the code:

```ruby
def some_method(val = nil)
  if val
    @value = val
  else
    # do something with @value
  end
end
```

I wanted to simplify this pattern by introducing concept of a property. It's meant to be used internally

```ruby
# from: https://github.com/lotus/model/blob/master/lib/lotus/model/mapping/collection.rb

# before:
def entity(klass = nil)
  if klass
    @entity = klass
  else
    @entity
  end
end

def identity(name = nil)
  if name
    @identity = name
  else
    @identity || :id
  end
end

# after:
include Lotus::Utils::Property

property(:entity)   { @entity }
property(:identity) { @identity || :id }
```