Merge branch 'tristan/reorganize-project-context-init' into 'master'

Reorginize some __init__() functions

See merge request BuildStream/buildstream!1961
diff --git a/src/buildstream/_context.py b/src/buildstream/_context.py
index 19e0781..c0e92b9 100644
--- a/src/buildstream/_context.py
+++ b/src/buildstream/_context.py
@@ -63,9 +63,6 @@
         # The directory where various sources are stored
         self.sourcedir = None
 
-        # specs for source cache remotes
-        self.source_cache_specs = None
-
         # The directory where build sandboxes will be created
         self.builddir = None
 
@@ -85,6 +82,9 @@
         # Default root location for workspaces
         self.workspacedir = None
 
+        # specs for source cache remotes
+        self.source_cache_specs = None
+
         # The locations from which to push and pull prebuilt artifacts
         self.artifact_cache_specs = None
 
diff --git a/src/buildstream/_project.py b/src/buildstream/_project.py
index 508afa6..96a2ead 100644
--- a/src/buildstream/_project.py
+++ b/src/buildstream/_project.py
@@ -119,9 +119,6 @@
         # Absolute path to where elements are loaded from within the project
         self.element_path = None
 
-        # Default target elements
-        self._default_targets = None
-
         # ProjectRefs for the main refs and also for junctions
         self.refs = ProjectRefs(self.directory, "project.refs")
         self.junction_refs = ProjectRefs(self.directory, "junction.refs")
@@ -135,10 +132,14 @@
         self.base_environment = {}  # The base set of environment variables
         self.base_env_nocache = None  # The base nocache mask (list) for the environment
 
+        self.artifact_cache_specs = None
+        self.source_cache_specs = None
+        self.remote_execution_specs = None
+
         #
         # Private Members
         #
-
+        self._default_targets = None  # Default target elements
         self._default_mirror = default_mirror  # The name of the preferred mirror.
 
         self._cli_options = cli_options
@@ -148,10 +149,6 @@
         self._shell_command = []  # The default interactive shell command
         self._shell_environment = {}  # Statically set environment vars
         self._shell_host_files = []  # A list of HostMount objects
-
-        self.artifact_cache_specs = None
-        self.source_cache_specs = None
-        self.remote_execution_specs = None
         self._sandbox = None
         self._splits = None