Emergent Macroeconomics. An Agent-Based Approach to Business Fluctuations