Utilites for manipulating base64 & PEM

Add two new utility modules

  - keystone.common.base64utils
  - keystone.common.pemutils

Add two new unit tests to exercise the above.

  - keystone.tests.test_base64utils
  - keystone.tests.test_pemutils

Functionality in these utilities will be utilized to fix bug #1233838
in a subsequent commit. It is hoped these modules will moved to Oslo
common code. Each module has a doc string describing their purpose and
functionalty.

Change-Id: I3546674dcd9eddec2c378929dd3f759f667cfd5d
Partial-Bug: #1233838
Updates .gitignore

To ignore swap files from getting into repository
currently the implemented ignore is *.swp
however vim adds more swap files if these files exists,
so improving this with *.sw?

Change-Id: I5c70908e32fc5316e395c72810fc45f5db8a7a77
Closes-Bug: #1255864
Merge "Utilites for manipulating base64 & PEM"
Merge "Updates .gitignore"