Added a charge function
Improvements to proposed pybel charge method
Small fix
Improved error messages of calccharges
Fix garbage plugin strings bug with libc++

With libc++, using OBDefine to load descriptors from plugindefines.txt would result in some plugin IDs and descriptions becoming garbage.

This was because plugins use const char* pointers for their ID and description, which point towards strings stored in a vector by OBDefine. The problem was that as new strings were read from plugindefines.txt and added to the vector, reallocations can occur to expand the vector capacity, invalidating any existing const char* created from the previously added strings using c_str().

This commit fixes this bug by reading in all descriptors from plugindefines.txt before creating the plugin instances. This ensures no changes are made the string vector once a plugin instance has been created.
Merge pull request #61 from patrickfuller/pybel-charge

Added a charge function
Merge pull request #62 from mcs07/garbage

Fix garbage plugin strings bug with libc++