Is there some kind of reference of all the configuration tables (i.e. their names) a Thing can have, so they can be retrieved with GetConfigurationTable? Because I didn't see that in the documentation on this site, just some examples in the Wiki using some configuration tables that aren't mentioned elsewhere.
Unfortunately, we don't have a reference of configuration tables. However, this information (and a whole lot more) can be retrieved with an API call. With this call, you'll get the name of the configuration table you're interested in modifying, which you can then set programmatically.
To return JSON, the API call would be as follows: [http://localhost/Thingworx/Things/ExampleThingName?method=get&Accept=application/json | http://localhost/Thingworx/Things/ExampleChannel?method=get&Accept=application/json]
To return XML, the API call would be as follows: [http://localhost/Thingworx/Things/ExampleThingName?method=get&Accept=text/xml | http://localhost/Thingworx/Things/ExampleChannel?method=get&Accept=application/json]
Once you've retrieved the configuration table name, you will want to get (GetConfigurationTable) and set (SetConfigurationTable) the configuration table. Keep in mind, when cloning Things, they need to be enabled (EnableThing) and restarted (RestartThing).
One more comment to add to that, would be that after you update a configuration table, you need to restart the Thing for it to take effect.