A Review and a Taxonomy of Edge Machine Learning: Requirements, Paradigms, and Techniques