Merging in FCM from Erik's repo

Pulling in stuff from erik's repo
Adding in the C agent code
Adding in bucketing code