Represents the data of a build server. This includes information about projects, build configurations, and executed by builds.
The build server model is intended to represent data fetched from build servers. The goal is to map the build server configuration (i.e. projects and build configurations) and executed builds (including the branch) to a common model, no matter what build server the data originates from.
This enables CAESAR to access information about builds through this model. There is no need for CAESAR to know how to interact different build servers.
A BuildServer has a BuildServerType (currently only TeamCity is supported) and multiple Projects.
Every Project has multiple BuildConfigurations that execute Builds which may be grouped by the branch of the
version control system.
