Change Unity Project Settings through Script

Briefly:
Is there a way to change various Unity Project Settings (Edit > Project Settings > …) via C# code?

Detailed:
I created an editor extension that adds a custom File menu suite of tools that we us across our company projects. One of these items is used to initialize a project so it meets our company standards. Currently, this sets up a default folder structure and sets up all .gitignore files. Everything works great so far.

However, I would also like to manipulate Edit > Project Settings > PlayerSettings to populate the Company Name setting. And more importantly, I would like to manipulate Edit > Project Settings > Editor to make the project ready for git. Any suggestions?

heres the docs on referencing Player Settings

judging from the documentation it should be a rather simple process something like

 compName = EditorGUILayout.TextField("Company Name:", compName);

or 



 UnityEditor.PlayerSettings.companyName = "someBS";

Edit to include ur next question —

UnityEditor.EditorSettings.serializationMode = UnityEditor.SerializationMode.ForceText;

appears to be the correct way to do this, enjoy.

Edit to Include documentation —
turns out its EditorManager

Edit to include Setting ExternalVersion –

UnityEditor.EditorSettings.externalVersionControl = "Visible Meta Files";