Add function for getting current EDE project
Use smart compile function that gracefully degrades to the best option

Includes mode-compile which can provide major-mode specific build types.