AMD module loading

Make dust compatible with AMD module loading.
(Following on from https://github.com/linkedin/dustjs/pull/192)

The main changes are;

- Add UMD Header and Footer partial scripts to lib folder
- Changed how lib/compiler is called to detect AMD define function
- Changed how lib/parser is defined from anonymous to named function so it can then called using Node, AMD or browser include
- The make file wraps the existing libs with the header and footer when generating dist files

These changes have been tested using the existing unit tests (client & server), I have also added AMD client tests and manually tested as a browser include, in the browser using require.js and in a node session.