Non-Canonical Amino Acids as Building Blocks for Peptidomimetics: Structure, Function, and Applications