Infochemistry: Information Processing at the Nanoscale