There are more ways to implement a platformer than the reference implementation in the tutorial example, and any answers to your first question are going to be fairly specific to that implementation.
But #2 is easy to achieve. Have the coins not exist on any Layer (by default they exist on the first layer) -- this will make it so that nothing collides with them. Then have the coins Mask on the second layer (again those default to the first) -- this means that they'll notice when they collide with anything on the second layer. Then make sure all of the solids you want the coins to collide with exist on Layer 2 in addition to Layer 1, that way they'll stop on the same things that the Player stops on but they won't actually stop on the Player.
Then give each of the coins an Area2D child which has no Layers and Mask 1 (so that it checks for collisions on Layer 1 but nothing checks for collisions against it) and connect its "body_enter" signal to check if they've just entered the Player.