Refactor scoreboard usage

In preparation for team colors, we need to unify scoreboard usage into a
single scoreboard per player.

Rather than creating a new scoreboard for each desired sidebar
objective, we provide an interface FSidebarProvider that allows
implementation-agnostic retrieval of the title and lines of the desired
sidebar, along with appropriate methods in the new implementation of
FScoreboard.

The new FScoreboard implementation manages the currently-visible
sidebar, with methods to set default (non-timed, with update interval)
and temporary (timed, no update interval) sidebars.

Temporary sidebars are replaced with the default sidebar upon
expiration.
Refactor scoreboard issue. Resolves issue #80.
Support modded enums in gson using custom EnumTypeAdapter. Resolves carbon breaking materials in issue #90.
Add /f seechunk command for visualizing a chunk
Limit block changes sent in seechunk to prevent client freezing. Use prettier blocks.
Add check to prevent scoreboards merging.
Show power next to member names in /f show
Add faction tag to team prefix
Add player to faction team when they log in
Add brackets in faction tag. U0.1.7
Store FScoreboards by FPlayer instead of Player
Don't repeatedly copy the Set<FPlayer> of Faction members
Allow prefix to be configurable.
Allow default prefix customization from lang file
Merge remote-tracking branch 'upstream/1.6.x' into translations
Applying new TLmsg method everywhere