UDA support for REST interfaces and rest module cleanup

Issue #188

```
Module structure changes:
    1) Added vibe.http.restutil module that contains HTTP/REST-agnostic meta-programming utilities
    2) Moved all matching function/templates from rest to restutil

Features:
    1) Implemented UDA support for REST interfaces - @method and @path

Rework;
    1) Adjusted formatting in vibe.http.rest to single most prevailing style
    2) Reworked all code generation functions to use token strings + format
    3) Replaced copy-paste with table lookup in extractHttpMethodAndName

.. and various minor tweaks I have probably done subconsciously.
```

Issues:
1)I know close to nothing about initial vibe.d setup and thus failed to adjust functional tests so that server is properly run. Please take a look at tests folder.
2) Update is probably worth adding separate article on REST in main vibe.d documentation. I have not yet done it.

Other than that, please, destroy. One controversial part is that pragma printing of generated methods is not that pretty know, I have decided that it is less important than having pretty main source code.