Refactor/Extract Common Credential Module

Renamed ``Credential`` to ``SiteCredential``.
Created a new super class  ``Credential`` to hold the testing method(s), the constants and common modules. 
This allowed both ``SiteCredential``, and ``SharedCredential`` to have access to the testing method to test newly created credentials. 

Reference Issue: https://github.com/rapid7/nexpose-client/issues/96

@mdaines-r7 @asalazar-r7 @gschneider-r7 

Main changes made are for the signature ``_to_param(target, engine_id, port)`` and setting the ``@port`` inside the ``test`` method. 
Everything else should be exactly the same
This field doesn't matter, right? Technically we could have a site ID for site credentials, but I don't think it would get used, unless for logging.