How do I add values to partition function and scheme?
You can modify the partition scheme and function to effectively add a new partition.

ALTER PARTITION SCHEME [PartitionByPeriodScheme] NEXT USED [FactsAfter2016_2];


Follow this up with:

ALTER PARTITION FUNCTION [PartitionByPeriodFunction]() SPLIT RANGE 20171231;


This will add a range between 20161227 and 20171231, which will be placed on  [FactsAfter2016_2].

As always, try this on a non-production system first.