Merge pull request #34 from toiee/make-plugin-singleton

Make each plugin singleton
Add LinkInterfaceTest for the first time

call url method of link
Fix LinkTest

Fix LinkInterface path in use
Make Link class

Add Mockery of SiteManager in LinkTest
Add Link class
Fix LinkInterface
Add Link resolver

Add LinkResolverInterface
Add LinkNotResolveException
Modify Link class adding resolvers
Change SiteManager url method

Add pageExists method
Create PageResolver
Add LinkServiceProvider

Add LinkServiceProvider
Fix namespace PageResolver.php
Fix namespace SiteManager.php
Refactor Link.php
Add unsolved test to LinkTest

Unsolved tests:
- testGetFrontPageURLWithHash
- testGetPageURLWithHash
Resolve get link with hash test in LinkTest.php
Refactor LinkResolverInterface
Change url rule

Add trailing slash
Remove hash from link parameter because of hash is not need resolve
Add LinkFacade
Add SiteManagerInterface.

Add SiteManagerInterface and DI.
Change tests.
Change methods in SiteManager.

* url -> pageUrl: for get page url
+ url: for get site url
Merge pull request #37 from toiee/link-interface

Add system of link token resolving.

Add Interfaces: LinkInterface, SiteManagerInterface
Add Facade: Link
Change methods in SiteManagerInterface

TODO: fix URL routing eg) PageName.html
Merge branch 'master' into create-button-plugin