Fixes#26

fixes #26
1. Objective-C specific syntax fixes:
 * Verbose naming of methods, adhering to naming conventions
 * Passive return for nil values
 * No need to synthesize
 * Eliminate nil checks through ‘==‘
 * Eliminate more ‘new’ as allocation and initialization should be separated.
 * Use custom initialization for dictionaries and arrays for safer type
 * Separation of allocation and initialization: no more allocating memory when we don’t have to.

2. Completely backward compatible

3. Other caveats that came with idiomatic Objective-C

 * Safer setObject:forKey: by having early returns if there is no explicit format (to prevent crash)
 * Simplified logic in conditions
 * Simplified(?) loops through routes using faster enumeration with blocks
 * Add explicit factory class methods for constructions
 * Add default routerOptions