[WIP] Added charge generation function and friends.

@bas-rustenburg take a look, much simplified.  
Should we be using `AM1BCCSym` or `AM1BCCSymSPt` here?