Added 'constraints' to the Deployment.add method

- Added constraints paremter to the Deployment.add method, it requires a dictionary to be passed.
- Example:
```python
           d = Deployment(juju_env='gojuju')
           d.add('charm', units=2, constraints=OrderedDict([
            ("cpu-power", 0),
            ("cpu-cores", 4),
            ("mem", "512M")
        ]))
```

Tests passing:

..........................................
----------------------------------------------------------------------
Ran 42 tests in 12.273s

OK