Added a NamingStrategy class to Entity provider

When trying to use Firebird as a DB for AspNet.Identity I found that EF failed because of lower case and double quotes since I've created all tables manually.

FireBird works better (IMO) with table and column names in upper case and without quotes.
The default behavior with EF if to use pascal case and double quotes but some times this can be a problem.
So I added a NamingStrategy class that handles the QuoteIdentifier() method.

This allows for anyone to use table and column names like they want/need just by doing this at app initialization and only if different from the default behavior:

```
SqlGenerator.NamingStrategy = new MyPreferedNamingStrategyClass();
```

Added a simple test to see the resulting SQL when defining a different naming strategy.