Add Alias Class for Delegating Setting/Getting to other Atom objects

Implements #11 using the descriptor protocol.  I needed to add a hook in AtomMeta to set the `attr_name` of the alias, since I could not get it at instantiation time.

```python
from atom.api import Atom, Instance, Unicode, Alias


class Company(Atom):
    
    address = Unicode('101 Main')
    

class Employee(Atom):
    
    name = Unicode()
    
    employer = Instance(Company, ())
    
    work_address = Alias(employer, 'address')
    
    
bob = Employee(name='Bob Smith')
assert bob.work_address == '101 Main'
bob.work_address = '23 Pine'
assert bob.employer.address == '23 Pine'
```