ObjectMapper reuse & config

Enables ObjectMapper reuse through implicit injection. ObjectMapper can
be accessed & configured.

Additionally, added a per-request method which allows overriding the
ObjectMapper for a specific request
def->var, ensuring mapper isn't re-instantiated
Indirection: Abstracting Jackson out to allow other impls e.g. json4s
No more implicit magic, adding layer of indirection.
Pass the filename of the template to the factory

Mustache uses the file's extension when resolving
partials, so it's important that the actual file name
is used.
Don't add .mustache extension to template file name

It's reasonable to want to have "home.html" be a
mustache template, for example. The current logic
will turn that into "home.html.mustache" in development
but not in production.
Use HttpServerDispatcher to fix remoteAddress property of Request.
modify FileService handle conditional GETs for static assets
need to send Last-Modified response header and process the If-Modified-Since header
fixing invalid tests
DefaultJacksonSerializer is now an object

Also, serializer in the controller is a settable var for setting the
default serializer without making a new render method.
AppService: Removing Jackson Serializer
Import cleanup
Merge remote-tracking branch 'twitter/master' into mapper-reuse

Conflicts:
	src/main/scala/com/twitter/finatra/Controller.scala
	src/main/scala/com/twitter/finatra/ResponseBuilder.scala
Update JsonSerializer.scala

Newline removal
Update readme.md to reflect issues on installation
Adding missing copyright headers to source files
Fix type error in sample code

Map[String,String].apply() doesn't return an option, Map[String,String].get does
MultipartParsing should only be called for POST requests that are multipart
Merge pull request #168 from manjuraj/master

MultipartParsing should only be called for POST requests that are multipart
Merge pull request #165 from leeavital/master

Fix type error in sample code