The first thing that you need to be aware of is the distinction between a function and a method. A method is a function that belongs to a class.
If you use a class, all its methods are part of the hex file, used or not.
If you don't use a function, it is not part of the hex file.
Do they get added in just once
If you look at the header files, you'll see multiple inclusion guards that prevent code from being compiled in more than once.
Does the compiler/Linker say to itsself we already have these methods and functions just use them again?
Something like that. Although, the linker isn't really talking to itself.
Are you saying that unused library functions and methods take space in the HEX file or not?
See the first paragraph...
If they do how do I cut down the total size of the sketch without reverse engineering the libraries, I need to make room for the functionality that I have not coded yet?
The answer is that you can't.