CAS-1360: Implementation of the REST API with Spring @RestController

This pull request adds a new extension module that implements CAS REST API with modern Spring @RestController programming model. This new module could be used to effectively replace the older restlet module that implements this REST API.

For deployments that do not use restlet module, the enablement of the REST support is as easy as including this dependency in the overlay's pom:

```xml
<dependency>
            <groupId>org.jasig.cas</groupId>
            <artifactId>cas-server-extension-rest</artifactId>
            <version>${cas.version}</version>
            <scope>runtime</scope>
</dependency>
```

For users of restlet module, just replace the pom dependency and change this snippet in web.xml:

from this:

```xml
<servlet>
    <servlet-name>restlet</servlet-name>
    <servlet-class>org.restlet.ext.spring.RestletFrameworkServlet</servlet-class>
    <load-on-startup>1</load-on-startup>
</servlet>
 
<servlet-mapping>
    <servlet-name>restlet</servlet-name>
    <url-pattern>/v1/*</url-pattern>
</servlet-mapping>
```

to this:

```xml
    <servlet-mapping>
        <servlet-name>cas</servlet-name>
        <url-pattern>/v1/*</url-pattern>
    </servlet-mapping>
```

or delete the web.xml in the overlay altogether if there are no other customizations there as this mapping is provided by CAS' webapp module's web.xml out of the box. 
Absolutely. I'll look into it.—
Sent from Mailbox

On Tue, Jul 8, 2014 at 10:25 PM, Scott <notifications@github.com> wrote:

>> + * Even though the default URI for tickets resource is {@code /v1/tickets}
>> + * it could be re-configured to whatever URI is desired by setting the following properties
>> + * in either classpath-based or externalized cas.properties file:
>> + *
>> + * <ul>
>> + *     <li>{@code server.rest.prefix=/v1}</li>
>> + *     <li>{@code server.rest.ticketsResource.name=tickets}</li>
>> + * </ul>
>> + *
>> + * @author Dmitriy Kopylenko
>> + * @author Unicon inc.
>> + *
>> + * @since 4.1
>> + */
>> +@RestController("${server.rest.prefix}:/v1")
>> +public class TicketsResource {
> is there an opportunity for unit tests to be added here?
> ---
> Reply to this email directly or view it on GitHub:
> https://github.com/Jasig/cas/pull/451/files#r14691050