I know it's fashionable to do everything in the cloud these days, but my personal preference is to have control over my digital assets, so I like to keep everything(!) in-house. For 20-50 -strong team, AD/Exchange/SharePoint/ForeFront setup would be mostly accepting defaults (2), and keeping everything running won't take much effort.
1). An AD is not neccessarily a bad thing. You could create accounts locally and push them into Office 365 automatically (ditto for Exchange accounts). You could use DirectAccess to meet the remote use requirement, although someone who knows more about the Linux/Mac world would need to comment on whether that will with DirectAccess.
2). Depends on how far you want to go with your file share - you could spend ages on an information architecture, if you're so inclined/have compliance requirements.