Added StrPromote behavior

Handles int, long, and unicode promotions.


```python
from atom.api import Atom, Str

class Test(Atom):
    s = Str(strict=False)
    
t = Test()
for value in [0, long(10), u'20']:
    t.s = value
    assert t.s == str(value)
```