Кровать - is a piece of furniture.
There are two beds in the room. - В комнате две кровати. You can't say: "В комнате две постели"
Постель - bedclothes: a sheet, blankets, pillows. It originates from a verb "стелить" - "to lay, to spread".
So, one can't call a bed without bedclothes "постель". The usage of "Постель" is always somehow related to sleeping or sex.
Он лежит в постели (He is lying in bed) - It is assumed that he is sleeping, going to sleep soon or has just woke up.
Very good observation, and you're actually not that far from the truth, and I'll tell you why :-) .
French word for "cravate" is called that way because ties were invented in Croatia, and the name of their country in Serbo-Croatians is "Hrvatska" , (from Krv in the Old Slavic), which basically means blood :-) , Like, people "related by blood" or something.
See how Etymology can lead you anywhere and everywhere? :D
I never thought of it but it really seems there every day maculine words ending with ь , which you just have to memorize:
EDIT: Only ones I am sure which are always feminine are --сть : ярость старость кость мудрость
EDIT 2: I've found here http://masterrussian.com/htgender.shtml
that nouns ending with -teль tend to be masculine as well
I think those rules only apply when the ending "-тель" or "-ость" is a suffix - for example, the word "учитель" (teacher) is formed by taking the word "учить" (to teach) and adding the suffix "-тель" (-er), and is masculine as per dempl's rule above. In Bkofman's examples, the endings aren't suffixes (they're just integral parts of the words) so the rules don't apply.