changed allow_testnet to magicbyte to support multisig or altcoins

Here is a proposal for checking "magicbytes" instead of hardcoded testnet chars.
Additionaly now supports mulsitig address validation , and altcoins (example is for dogecoin)

```
>>> validate('18hsZoatCE1AwxQHFWGbGxRz4TimJvLLr7')  # bitcoin
True
>>> validate('3QJmV3qfvL9SuYo34YihAf3sRCW3qSinyC',5)  # bitcoin multisig
True
>>> validate('moDprrfs1FSRj4sty5Ey6seJvTKUFBxAZ8',111)  # bitcoin testnet
True
>>> validate('DCqy74XXVduTUxasz6G9pibawbT4gqdZkk',30)  # dogecoin
True
```

Also i just corrected some small PEP8 warnings (two lines before methods, spaces around operators)

If its ok to you, i can adapt your tests to this feature.