Of the older IM clients; Lync had it, so did Lotus Sametime, MSN Messenger, Yahoo Messenger, ICQ, and of course AIM.
Somewhere along the line the presence feature got dropped, and now we're always 'Available' even when we're not.
Away/busy messages and invisibility are comforts for users. They go away when execs see that doing so bumps some (probably bullshit anyway) "engagement" metric by 5%.
Before you were only available when you had your PC on, you were connected to the Internet, and your IM program was open. Now you carry your perpetually running IM program in your perpetually on and perpetually connected mobile in your pocket.
Not exactly, FBM lets you differentiate between people who are "active", as in they are currently using FBM, vs. "last seen x hours ago." The difference from AIM is that being active vs. inactive does not necessarily correspond to whether or not you are up for an engaged conversation, and also that you don't directly control your status since it's automatic. There is also a way to set yourself to appear offline, though it's kinda convoluted. I 100% agree though that finer controls over your status like back in the good old days of AIM would be really nice.
All these social networks are definitely trying to use symmetry to push for engagement, which is not always the goal from the user's perspective.
On AIM, logging in was an active choice and it signaled that you were up for a conversation. With Facebook Messenger, everyone who has the app is always "online." This means that:
a) I get messages from people I don't want to have a conversation with at the moment and it seems rude if I ignore them, because there are read receipts.
b) If I send a message, I don't know if they're going to engage in a real-time conversation or if we're going to play phone tag. There's no way of signaling which I'm looking for.