A list replication function **

Write a tail recursive function called `replicate-to-length`, which in a cyclic way (if necessary) replicates the elements in a list
until the resulting list is of a certain exact length. You should think of `replicate-to-length` as a function that iterates over the elements of
the list, repeatedly, if necessary. You will probably need to write a helping function to `replicate-to-length`, which
is tail recursive.

The following serves as an example:

(replicate-to-length '(a b c) 8) => (a b c a b c a b)

(replicate-to-length '(a b c) 2) => (a b)

In other words, in `(replicate-to-length lst n)`, take elements out of `lst`, cyclic if necessary, until you reach `n` elements.