What could cause the site to suddenly start dying with the "Call to undefined function entity_get_info()" error?
You have a classed FieldCollectionItem object in your variables table. Drupal 7 isn't designed to handle this.

When you use variable_set() to save an object to the variables table, the object must first be converted into a string using serialize(). Later, it will have to figure out how to convert that string back into a FieldCollectionItem object, and it will call the __wakeup magic method on the class to help it figure out how to do that. It turns out that __wakeup method requires code that isn't bootstrapped yet at the time that Drupal reads from the variables table, so you get the fatal error.

But you're not hosed. It looks you probably saved the object in the 'roles_to_pass' variable. If you can edit your database, try removing that record from the {variable} table, then clear your cache tables.