Custom Settings you can retrieve via SOQL (or use standard Custom Setting methods) and make any changes directly in Apex using DML.
You should consider using Metadata API for retrieving and updating the following: Custom Label, Remote Site Settings, Named Credential and Custom Metadata.
There is Apex Wrapper Salesforce Metadata API, which simplifies work ...
When you are making call outs from lightning context, the session Id you get doesn't have the scope or enough permission to make a callout to apis of Salesforce. You can do it in this way
1) a.Create a connected app and register your own domain, and give auth provider as Salesforce
b. Create a named credential, and and register your Salesforce domain
From lightning session, you cannot invoke callout directly. You need named credential for that.
req.setEndpoint(URL.getSalesforceBaseUrl().toExternalForm()+'/services/data/v39.0/tooling/sobjects/GlobalValueSet/(Here is GlobalPickListId)?_HttpMethod=PATCH');
Create named credential for endpoint and use it.
Go to setup > Named credential ...
Not sure what you meant by getting Id from object name.
Here is small notes on Ids and object API names.
You can get object API name by using Id. You can say myId.getSobjectType(). If you want to know all the objects' Ids then use SOQL [SELECT Id FROM ObjectName].
yes instead of getting the id of the object and redirecting the page to create a custom field, you can create a field using Tooling api itself. I have written a lightning component to create custom object fields for any object (Whichever is accessible to create custom fields). Let me know if you need the code.
you may try to use the following SOQL Query to get the Id:
Id myCustomObjectId = [SELECT CustomObjectId FROM CustomObjectUserLicenseMetrics WHERE CustomObjectName ='MyCustomObjectName' limit 1].id;
hope it helps