Initial Command-line parsing

--> Had typo in branch name on original request

----

Added command-line parsing capabilities, this allows cpal to be called in “script” like form. More methods and additions to be made, but this should be a good start to give an idea.

added beginCalls method to device(), making it a more modular and allowing for easy expansion later, __init__ now just initializes the class variables.

------

few examples below:

normal call
```bash
$ python main.py
{   'connect_ip': '192.168.31.22',
    'free_system_memory': 48884,
    'hostname': u'leaf-2a',
    'platform': u'vEOS',
    'serial_number': '12345',
    'system_uptime': u' 09:13:24',
    'total_sytem_memory': 1000444,
    'var_name': 'r1',
    'vendor': 'arista'}
```

calling with IP address set (-i or --ipAddress) and manufacturer (-m or --manufacturer)
```bash
$ python main.py -i 192.168.31.21 -m arista
{   'connect_ip': '192.168.31.21',
    'free_system_memory': 190728,
    'hostname': u'leaf-1a',
    'platform': u'vEOS',
    'serial_number': '12345',
    'system_uptime': u' 09:13:33',
    'total_sytem_memory': 1000444,
    'var_name': 'r1',
    'vendor': 'arista'}
```

I can't run the onePK since no access to library, but here's an example changing the manufacturer to -m cisco, it crashes, but shows that tries to load the proper libraries.

```bash
$ python main.py -i 192.168.31.21 -m cisco
Traceback (most recent call last):
  File "main.py", line 193, in <module>
    main()
  File "main.py", line 164, in main
    r1 = device("r1", "arista", "192.168.31.22")
  File "main.py", line 90, in __init__
    self.beginCalls(obj)
  File "main.py", line 95, in beginCalls
    self._thisdevice = cisco(self.address, obj)
NameError: global name 'cisco' is not defined
```

try it out and let me know, this was all done under a different branch (comand-parsing) so may need to be merged with *master.

@jedelman8