Feature/add credential store

Yep.  You bring up a good point though.  The original spec for providers have all their fields as strings, which is inconsistent with the types we allow plugin authors to set today.